tmpfile_s
Cria um arquivo temporário.Ele é uma versão do tmpfile com aprimoramentos de segurança, conforme descrito em Recursos de segurança no CRT.
errno_t tmpfile_s(
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 for bem-sucedido, um código de erro em caso de falha.
Condições de erro
pFilePtr |
Valor de retorno |
Conteúdo depFilePtr |
---|---|---|
NULL |
EINVAL |
não são alterados |
Se o erro de validação de parâmetro acima ocorrer, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, errno for definido como EINVAL e o valor de retorno é EINVAL.
Comentários
O tmpfile_s 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_s ou tempnam em conjunto com fopen.
Se o arquivo não pode ser aberto, tmpfile_s grava NULL para o pFilePtr parâmetro.Esse arquivo temporário é excluído automaticamente quando o arquivo é fechado, quando o programa é encerrado normalmente, ou quando _rmtmp é chamado, supondo que não altera o diretório de trabalho atual.O arquivo temporário é aberto no w+b modo (binário de leitura/gravação).
Falha pode ocorrer se você tentar mais de TMP_MAX_S (consulte STDIO.H) chamadas comtmpfile_s.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
tmpfile_s |
<stdio.h> |
Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.
Exemplo
Observação |
---|
Este exemplo requer privilégios administrativos para executar no 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() );
}
Equivalência do .NET Framework
Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.