Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

tmpfile_s

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
);

[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

pFilePtr

Valor devuelto

Contents of pFilePtr

NULL

EINVAL

no cambia

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, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft