Fopen (): differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La funzione della libreria di C
La funzione della libreria di C
  FILE *fopen(const char *path, const char *mode);
  FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)
apre il file ''path'' associandolo ad uno ''stream'', e predisponendolo per le operazioni di ''input'' ed ''output'' come indicato da ''mode''.
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:
Volendola utilizzare in Gambas, bisognerà dichiararla con ''Extern'', nonché bisognerà dichiarare la libreria di C: ''libc.so.6'', nella quale la funzione è contenuta:
  Private <FONT color=#B22222>Extern fopen</font>(fl As String, mode As String) As Pointer In "libc:6"
  Private <FONT color=#B22222>Extern fopen</font>(__filename As String, __modes As String) As Pointer In "libc:6"
In caso di fallimento viene ritornato NULL.
In caso di fallimento viene ritornato NULL.




Semplice esempio uso in Gambas:
Semplice esempio uso in Gambas:
  '''Private''' <FONT color=#B22222>Extern fopen</font>(fl As String, mode As String) As Pointer In "libc:6"
  Library "libc:6"
   
   
<FONT color=gray>' ''FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)''
' ''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
   
   
  '''Public''' Sub Button1_Click()
  <FONT Color=gray>' ''int fclose (FILE *__stream)''
' ''Close STREAM.''</font>
Private Extern fclose(__stream As Pointer) As Integer
Public Sub Main()
   
   
   Dim p As Pointer
   Dim p As Pointer
   
   
  <FONT color=gray>' ''Apriamo un file di testo in lettura:''</font>
  <FONT color=gray>' ''Apriamo un file di testo in lettura:''</font>
   p = fopen("''/percorso/del/file/da/aprire''", "r")
   p = <FONT color=#B22222>fopen</font>("<FONT color=gray>''/percorso/del/file/da/aprire''</font>", "r")
 
  ...<FONT color=gray>''Fa qualcosa''</font>...
   ......
   ......
 
  '''End'''
  <FONT color=gray>' ''Al termine è necessario chiudere il file precedentemente aperto:''</font>
  fclose(p)
 
End

Versione attuale delle 10:37, 2 lug 2023

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(__stream 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:
  fclose(p)
  
End