tmpfile_s
crea un file temporaneo.è una versione di tmpfile con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.
errno_t tmpfile_s(
FILE** pFilePtr
);
Parametri
- [out] pFilePtr
L'indirizzo di un puntatore per archiviare l'indirizzo del puntatore generato in un flusso.
Valore restituito
Restituisce 0 in caso di esito positivo, un codice di errore in caso di errore.
condizioni di errore
pFilePtr |
Valore restituito |
Contenuto di pFilePtr |
---|---|---|
NULL |
EINVAL |
non modificato |
Se l'errore sopra di convalida dei parametri caso, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, errno è impostato su EINVAL e il valore restituito è EINVAL.
Note
tmpfile_s la funzione crea un file temporaneo e inserisce un puntatore al flusso in pFilePtr argomento.Il file temporaneo viene creato nella directory radice.Per creare un file temporaneo in una directory diversa dalla radice, utilizzare tmpnam_s o tempnam insieme a fopen.
Se il file non può essere aperto, tmpfile_s scrive NULL in pFilePtr parametro.Questo file temporaneo automaticamente eliminato quando il file viene chiuso, quando il programma termina normalmente, o quando _rmtmp viene chiamato, presupponendo che la cartella di lavoro corrente non cambia.Il file temporaneo viene aperto in w+b (modalità di lettura/scrittura binario).
L'errore può verificarsi se si tenta di più TMP_MAX_S (vedere STDIO.H) chiama con tmpfile_s.
Requisiti
routine |
Intestazione di associazione |
---|---|
tmpfile_s |
<stdio.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
[!NOTA]
In questo esempio sono richiesti privilegi amministrativi per l'esecuzione su 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 .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.