tmpfile_s
Cria um arquivo temporário.Uma versão do tmpfile com aprimoramentos de segurança sistema autônomo descrito em Aprimoramentos de segurança no CRT.
errno_t tmpfile(
FILE** pFilePtr
);
Parâmetros
- [out] pFilePtr
O endereço de um ponteiro para armazenar o endereço do ponteiro gerado para um fluxo.
Valor de retorno
Retorna 0 se obtiver êxito, um código de erro em caso de falha.
Condições de erro
pFilePtr |
Valor de retorno |
Sumário de pFilePtr |
---|---|---|
NULL |
EINVAL |
não alterado |
Se ocorrer o erro de validação de parâmetro acima, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é definido como EINVAL e é o valor retornado EINVAL.
Comentários
The tmpfile função cria um arquivo temporário e coloca um indicador para esse fluxo na pFilePtr argumento. O arquivo temporário é criado no diretório raiz.Para criar um arquivo temporário em um diretório diferente da raiz, use tmpnam or tempnam em conjunto com fopen.
Se o arquivo não pode ser aberto, tmpfile_s gravações NULL para o pFilePtr parâmetro. Este arquivo temporário é excluído automaticamente quando o arquivo estiver fechado, quando o programa é encerrado normalmente ou quando _rmtmp é chamado, supondo que a diretório de trabalho corrente não é alterado. O arquivo temporário é aberto em w+b modo (binário de leitura/gravar).
Falha pode ocorrer se você tentar mais de TMP_MAX_S (consulte STDIO.H) chamadas com tmpfile_s.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
tmpfile_s |
<stdio.h> |
Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.
Exemplo
Observação: |
---|
Este exemplo requer privilégios administrativos para ser executado no Windows Vista. |
// crt_tmpfile_s.c
// This program uses tmpfile 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() );
}
Temporary file 1 was created Temporary file 2 was created Temporary file 3 was created 3 temporary files deleted
Equivalente do NET Framework
Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.