Differenze tra le versioni di "Tmpfile ()"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzione '''''tmpfile( )''''', dichiarata nel file header di sistema "''/usr/include/stdio.h''" FILE *tmpfile (void) crea un file temporaneo e lo apre contemporaneamente i...")
 
Riga 3: Riga 3:
 
crea un file temporaneo e lo apre contemporaneamente in lettura ed in scrittura.
 
crea un file temporaneo e lo apre contemporaneamente in lettura ed in scrittura.
  
La funzione ''tmpfile( )'' ritorna un ''Puntatore'' di tipo ''FILE *'', dichiarato nella citata libreria standard "''stdio.h''", che in Gambas andrà opportunamente gestito con le medesime modalità previste per detto tipo di ''Puntatore'' creato con la funzione ''fopen( )''. Esso, pertanto, andrà chiuso esclusivamente con la funzione esterna ''fclose()''.
+
La funzione ''tmpfile( )'' ritorna un ''Puntatore'' di tipo ''FILE *'', dichiarato nella citata libreria standard "''stdio.h''", che in Gambas andrà opportunamente gestito con le medesime modalità previste per detto tipo di ''Puntatore'' creato con la funzione ''fopen( )''. Si utilizzeranno, pertanto, le funzioni esterne ''fread( )'' e ''fwrite( )''. Il ''Puntatore'', infine, andrà chiuso esclusivamente con la funzione esterna ''fclose()''.
  
  

Versione delle 18:48, 7 set 2016

La funzione tmpfile( ), dichiarata nel file header di sistema "/usr/include/stdio.h"

FILE *tmpfile (void)

crea un file temporaneo e lo apre contemporaneamente in lettura ed in scrittura.

La funzione tmpfile( ) ritorna un Puntatore di tipo FILE *, dichiarato nella citata libreria standard "stdio.h", che in Gambas andrà opportunamente gestito con le medesime modalità previste per detto tipo di Puntatore creato con la funzione fopen( ). Si utilizzeranno, pertanto, le funzioni esterne fread( ) e fwrite( ). Il Puntatore, infine, andrà chiuso esclusivamente con la funzione esterna fclose().


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 tmpfile() As Pointer In "libc:6"


Mostriamo un semplice esempio:

Library "libc:6"

' FILE *tmpfile (void)
' Create a temporary file and open it read/write.
Private Extern tmpfile() As Pointer

' int fclose (FILE *__stream)
' Close STREAM.
Private Extern fclose(__stream As Pointer) As Integer


 Public Sub Main()
 
 Dim p As Pointer
  
  p = tmpfile()
  If p = 0 Then Error.Raise("Impossibile creare il file temporaneo !")
  
' Qui si può utilizzare il puntatore "p" creato.
  ......
  ......
  
  fclose(p)
  
End