Differenze tra le versioni di "Fopen ()"

Da Gambas-it.org - Wikipedia.
Riga 11: Riga 11:
  
 
Semplice esempio uso in Gambas:
 
Semplice esempio uso in Gambas:
 +
Library "libc:6"
 +
 
  <FONT color=gray>' ''FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)''
 
  <FONT color=gray>' ''FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)''
 
  ' ''Open a file and create a new stream for it.''</font>
 
  ' ''Open a file and create a new stream for it.''</font>
  Private Extern <FONT color=#B22222>fopen</font>(__filename As String, __modes As String) As Pointer In "libc:6"
+
  Private Extern <FONT color=#B22222>fopen</font>(__filename As String, __modes As String) As Pointer
 +
 +
<FONT Color=gray>' ''int fclose (FILE *__stream)''
 +
' ''Close STREAM.''</font>
 +
Private <FONT color=#B22222>Extern fclose</font>(filestream As Pointer) As Integer
 
   
 
   
 
   
 
   
Riga 23: Riga 29:
 
   p = fopen("<FONT color=gray>''/percorso/del/file/da/aprire''</font>", "r")
 
   p = fopen("<FONT color=gray>''/percorso/del/file/da/aprire''</font>", "r")
 
    
 
    
 +
  ...<FONT color=gray>''Fa qualcosa''</font>...
 
   ......
 
   ......
   ......
+
    
   
+
  <FONT color=gray>' ''Al termine è necessario chiudere il file precedentemente aperto:''</font>
 +
  flose(p)
 +
 
 
  '''End'''
 
  '''End'''

Versione delle 09:18, 25 dic 2016

La funzione della libreria di C

FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)

apre il file __filename associandolo ad uno stream, e predisponendolo per le operazioni di input ed output come indicato da __modes.


Volendola utilizzare in Gambas, bisognerà dichiararla con Extern, nonché bisognerà dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:

Private Extern fopen(__filename As String, __modes As String) As Pointer In "libc:6"

In caso di fallimento viene ritornato NULL.


Semplice esempio uso in Gambas:

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 fclose (FILE *__stream)
' Close STREAM.
Private Extern fclose(filestream As Pointer) As Integer


Public Sub Main()

 Dim p As Pointer

' Apriamo un file di testo in lettura:
  p = fopen("/percorso/del/file/da/aprire", "r")
  
  ...Fa qualcosa...
  ......
  
' Al termine è necessario chiudere il file precedentemente aperto:
  flose(p)
  
End