Condividi tramite


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.

Vedere anche

Riferimenti

Flusso I/O

_rmtmp

_tempnam, _wtempnam, tmpnam, _wtmpnam