Differenze tra le versioni di "Perror ()"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 3: | Riga 3: | ||
scrive nello standard error un messaggio descrittivo di un errore. | scrive nello standard error un messaggio descrittivo di un errore. | ||
− | La funzione esterna | + | La funzione esterna "perror()" andrà utilizzata in Gambas ''solo'' per mostrare eventuali errori <SPAN Style="text-decoration:underline">derivanti da funzioni esterne</span>, dichiarate con ''Extern''. |
+ | |||
Volendo utilizzare tale funzione in Gambas, bisognerà dichiararla con ''Extern'', nonché bisognerà dichiarare la libreria di C: ''libc.so.6'', nella quale essa è contenuta: | Volendo utilizzare tale funzione in Gambas, bisognerà dichiararla con ''Extern'', nonché bisognerà dichiarare la libreria di C: ''libc.so.6'', nella quale essa è contenuta: | ||
Private <FONT color=#B22222>Extern perror</font>(__s As String) | Private <FONT color=#B22222>Extern perror</font>(__s As String) | ||
− | |||
− | |||
Mostriamo un semplice esempio, nel quale si tenterà di aprire un file inesistente all'interno della cartella ''/tmp'': | Mostriamo un semplice esempio, nel quale si tenterà di aprire un file inesistente all'interno della cartella ''/tmp'': | ||
Library "libc:6" | Library "libc:6" | ||
Riga 25: | Riga 24: | ||
− | + | Public Sub Main() | |
Dim p As Pointer | Dim p As Pointer | ||
<FONT Color=gray>' ''Questa è la funzione esterna di cui si mostrerà con "perror()" l'errore sollevato:''</font> | <FONT Color=gray>' ''Questa è la funzione esterna di cui si mostrerà con "perror()" l'errore sollevato:''</font> | ||
− | + | p = fopen("/tmp/xxxxxx", "r") | |
− | + | If p == 0 Then <FONT color=#B22222>perror</font>("Errore: ") | |
− | + | fclose(p) | |
− | + | End | |
− | |||
Versione attuale delle 14:42, 15 giu 2024
La funzione
void perror (const char *__s)
scrive nello standard error un messaggio descrittivo di un errore.
La funzione esterna "perror()" andrà utilizzata in Gambas solo per mostrare eventuali errori derivanti da funzioni esterne, dichiarate con Extern.
Volendo utilizzare tale funzione in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale essa è contenuta:
Private Extern perror(__s As String)
Mostriamo un semplice esempio, nel quale si tenterà di aprire un file inesistente all'interno della cartella /tmp:
Library "libc:6" ' FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) ' Open a file and create a new stream for it. Private Extern fopen(__filename As String, __modes As String) As Pointer ' int perror (const char *__s) ' Print a message describing the meaning of the value of errno. Private Extern perror(__s As String) ' int fclose (FILE *__stream) ' Close STREAM. Private Extern fclose(__stream As Pointer) As Integer Public Sub Main() Dim p As Pointer ' Questa è la funzione esterna di cui si mostrerà con "perror()" l'errore sollevato: p = fopen("/tmp/xxxxxx", "r") If p == 0 Then perror("Errore: ") fclose(p) End