tmpfile_s

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Crea un archivo temporal. Es una versión de tmpfile con mejoras de seguridad, como se describe en características de seguridad de CRT.

errno_t tmpfile_s(  
   FILE** pFilePtr  
);  

Parámetros

[out] pFilePtr
La dirección de un puntero para almacenar la dirección del puntero generado en una secuencia.

Devuelve 0 si se ejecuta correctamente; devuelve un código de error si se produce un error.

Condiciones de error

pFilePtrValor devueltoContenido de  pFilePtr
NULLEINVALno cambia

Si se produce el error de validación del parámetro anterior, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno está establecido en EINVAL y el valor devuelto es EINVAL.

El tmpfile_s función crea un archivo temporal y se coloca un puntero a ese flujo en el pFilePtr argumento. 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_s o tempnam junto con fopen.

Si no se puede abrir el archivo, tmpfile_s escribe NULL a la pFilePtr parámetro. Este archivo temporal se elimina automáticamente cuando se cierra el archivo, cuando finaliza el programa normalmente o cuando _rmtmp se llama, suponiendo que no cambia el directorio de trabajo actual. Se abre el archivo temporal en w+b modo (lectura y escritura binario).

Error puede producirse si intenta más de TMP_MAX_S (consulte STDIO. (H) llamadas contmpfile_s.

RutinaEncabezado necesario
tmpfile_s<stdio.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

System_CAPS_ICON_note.jpg Nota

Este ejemplo requiere privilegios administrativos para ejecutarse en Windows Vista.

// crt_tmpfile_s.c  
// This program uses tmpfile_s to create a  
// temporary file, then deletes this file with _rmtmp.  
//  
  
#include <stdio.h>  
  
int main( void )  
{  
   FILE *stream;  
   char tempstring[] = "String to be written";  
   int  i;  
   errno_t err;  
  
   // Create temporary files.  
   for( i = 1; i <= 3; i++ )  
   {  
      err = tmpfile_s(&stream);  
      if( err )  
         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  

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

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

Mostrar: