Condividi tramite


tmpfile

Crea un file temporaneo. Questa funzione è deprecata perché è disponibile una versione più sicura; vedere tmpfile_s.

Sintassi

FILE *tmpfile( void );

Valore restituito

In caso di esito positivo tmpfile restituisce un puntatore a un flusso. In caso contrario, restituisce un puntatore NULL.

Osservazioni:

La funzione tmpfile crea un file temporaneo e restituisce un puntatore a tale flusso. Il file temporaneo viene creato nella directory radice. Per creare un file temporaneo in una directory diversa dalla radice, usare tmpnam o tempnam con fopen.

Se il file non può essere aperto, tmpfile restituisce un NULL puntatore. Questo file temporaneo viene eliminato automaticamente quando il file viene chiuso, quando il programma termina normalmente o quando _rmtmp viene chiamato, presupponendo che la directory di lavoro corrente non venga modificata. Il file temporaneo viene aperto in modalità w+b (lettura/scrittura binaria).

Può verificarsi un errore se si tentano più di TMP_MAX chiamate (vedere STDIO.H) con tmpfile.

Requisiti

Ciclo Intestazione obbligatoria
tmpfile <stdio.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Nota

Per l'esecuzione di questo esempio in Windows Vista sono necessari privilegi di amministratore.

// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>

int main( void )
{
   FILE *stream;
   int  i;

   // Create temporary files.
   for( i = 1; i <= 3; i++ )
   {
      if( (stream = tmpfile()) == NULL ) // C4996
      // Note: tmpfile is deprecated; consider using tmpfile_s instead
         perror( "Could not open new temporary file\n" );
      else
         printf( "Temporary file %d was created\n", i );
   }

   // Remove temporary files.
   printf( "%d temporary files deleted\n", _rmtmp() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted

Vedi anche

I/O di flusso
_rmtmp
_tempnam, _wtempnam, tmpnam_wtmpnam