Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

tmpfile_s

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

errno_t tmpfile_s(
   FILE** pFilePtr
);

[out] pFilePtr

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

Devuelve 0 si es correcto, un código de error del error.

condiciones de error

pFilePtr

Valor devuelto

Contenido de pFilePtr

NULL

EINVAL

no cambiado

Si el error de validación anterior de parámetro aparece, se invoca el controlador no válido de parámetro, tal y como se describe en Validación de parámetros. Si la ejecución puede continuar, errno se establece en EINVAL y el valor devuelto es EINVAL.

La función de tmpfile_s crea un archivo temporal y coloca un puntero a esa secuencia en el argumento de pFilePtr . el archivo temporal se crea en el directorio raíz. Para crear un archivo temporal en un directorio distinto de la raíz, utilice tmpnam_s o tempnam junto con fopen.

Si no se puede abrir el archivo, tmpfile_s escribe NULL al parámetro de pFilePtr . Este archivo temporal se elimina automáticamente cuando se cierra el archivo, cuando el programa termina normalmente, o cuando _rmtmp se denomina, suponiendo que el directorio de trabajo actual no cambia. El archivo temporal se abre en el modo de w+b (escritura binaria).

El error puede producirse si intenta más que TMP_MAX_S (vea STDIO.H) las llamadas con tmpfile_s.

rutina

Encabezado necesario

tmpfile_s

<stdio.h>

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

Nota Nota

Este ejemplo requiere que se ejecuten privilegios administrativos 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() );
}
El archivo temporal 1 se creó
El archivo temporal 2 se creó
El archivo temporal 3 se creó
3 archivos temporales eliminados

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

Adiciones de comunidad

AGREGAR
Mostrar: