tmpfile

Crea un archivo temporal. Esta función está en desuso, ya que existe una versión más segura; consulte tmpfile_s.

Sintaxis

FILE *tmpfile( void );

Valor devuelto

Si se realiza correctamente, tmpfile devuelve un puntero de flujo. De lo contrario, devuelve un puntero NULL.

Comentarios

La función tmpfile crea un archivo temporal y devuelve un puntero a ese flujo. El archivo temporal se crea en el directorio raíz. Para crear un archivo temporal en un directorio distinto de la raíz, use tmpnam o tempnam con fopen.

Si el archivo no se puede abrir, tmpfile devuelve un NULL puntero. Este archivo temporal se elimina automáticamente cuando se cierra el archivo, cuando el programa finaliza normalmente o cuando _rmtmp se llama, suponiendo que el directorio de trabajo actual no cambie. El archivo temporal se abre en modo w+b (lectura y escritura de archivos binarios).

Se puede producir un error al intentar más de TMP_MAX llamadas (vea STDIO.H) con tmpfile.

Requisitos

Routine Encabezado necesario
tmpfile <stdio.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

Nota:

Este ejemplo exige privilegios administrativos para ejecutarse en Windows Vista.

// 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

Consulte también

E/S de secuencia
_rmtmp
_tempnam, _wtempnam, tmpnam, _wtmpnam