Differenze tra le versioni di "Perror ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 ''...")
 
 
(3 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 ''perror( )'' andrà utilizzata in Gambas ''solo'' per mostrare eventuali errori derivanti da funzioni esterne, dichiarate con ''Extern''.
+
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:
 
 
  Library "libc:6"
 
  Library "libc:6"
 
   
 
   
Riga 25: Riga 24:
 
   
 
   
 
   
 
   
  '''Public''' Sub Main()
+
  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'eventuale errore sollevato:''</font>
+
  <FONT Color=gray>' ''Questa è la funzione esterna di cui si mostrerà con "perror()" l'errore sollevato:''</font>
  p = fopen("file.txt", "r")
+
  p = fopen("/tmp/xxxxxx", "r")
  If p = 0 Then <FONT color=#B22222>perror</font>("Errore: ")
+
  If p == 0 Then <FONT color=#B22222>perror</font>("Errore: ")
 
    
 
    
  fclose(p)
+
  fclose(p)
 
    
 
    
  '''End'''
+
  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


Riferimenti