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
);
Parámetros
- [out] pFilePtr
La dirección de un puntero para almacenar la dirección del puntero generado en una secuencia.
Valor devuelto
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.
Comentarios
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.
Requisitos
rutina |
Encabezado necesario |
---|---|
tmpfile_s |
<stdio.h> |
Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.
Ejemplo
[!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() );
}
Equivalente en .NET Framework
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.