tmpfile

Cria um arquivo temporário. Essa função foi preterida pois uma versão mais segura está disponível; confira tmpfile_s.

Sintaxe

FILE *tmpfile( void );

Retornar valor

Se tiver êxito, tmpfile retornará um ponteiro de fluxo. Caso contrário, ele retornará um ponteiro NULL.

Comentários

A função tmpfile cria um arquivo temporário e retorna um ponteiro nesse fluxo. O arquivo temporário é criado no diretório raiz. Para criar um arquivo temporário em um diretório diferente da raiz, use tmpnam ou tempnam com fopeno .

Se o arquivo não puder ser aberto, tmpfile retornará um NULL ponteiro. Esse arquivo temporário é excluído automaticamente quando o arquivo é fechado, quando o programa termina normalmente ou quando _rmtmp é chamado, supondo que o diretório de trabalho atual não seja alterado. O arquivo temporário é aberto no modo w+b (leitura/gravação binária).

Poderá ocorrer uma falha se você tentar mais de TMP_MAX chamadas (consulte STDIO.H) com tmpfile.

Requisitos

Rotina Cabeçalho necessário
tmpfile <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Observação

Esse exemplo exige privilégios administrativos para ser executado no Windows Vista.

// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>

int main( void )
{
   FILE *stream;
   int  i;

   // Create temporary files.
   for( i = 1; i <= 3; i++ )
   {
      if( (stream = tmpfile()) == NULL ) // C4996
      // Note: tmpfile is deprecated; consider using tmpfile_s instead
         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() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted

Confira também

E/S de fluxo
_rmtmp
_tempnam, _wtempnam, tmpnam, _wtmpnam