Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.