Tmpfile ()

Da Gambas-it.org - Wikipedia.

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