fclose, _fcloseall

Fecha um fluxo (fclose) ou fecha todos os fluxos abertos (_fcloseall).

Sintaxe

int fclose(
   FILE *stream
);
int _fcloseall( void );

Parâmetros

stream
Ponteiro para a estrutura FILE.

Valor retornado

fclose retorna 0 se o fluxo for fechado com êxito. _fcloseall retorna o número total de fluxos fechados. Ambas as funções retornam EOF para indicar um erro.

Comentários

A função fclose fecha stream. Se stream for NULL, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, fclose definirá errno para EINVAL e retornará EOF. É recomendável que você sempre verifique o stream ponteiro antes de chamar essa função.

Para obter mais informações sobre códigos de retorno, confira errno, _doserrno, _sys_errlist e _sys_nerr.

A função _fcloseall fecha todos os fluxos exceto stdin, stdout, stderr (e, no MS-DOS, _stdaux e _stdprn). Ela também fecha e exclui todos os arquivos temporários criados por tmpfile. Em ambas as funções, todos os buffers associados com o fluxo são liberados antes do fechamento. Buffers alocados pelo sistema são liberados quando o fluxo está fechado. Buffers atribuídos pelo usuário com setbuf e setvbuf não são liberados automaticamente.

Observação

Quando fclose as funções or _fcloseall são usadas para fechar um fluxo, o descritor de arquivo subjacente e o identificador de arquivo do sistema operacional (ou soquete) também são fechados. Portanto, se o arquivo foi originalmente aberto como um identificador de arquivo ou descritor de arquivo e é fechado com fclose, não chame _close também para fechar o descritor de arquivo; e não chame a função CloseHandle Win32 para fechar o identificador de arquivo.

fclose e _fcloseall incluem o código para proteção contra interferência de outros threads. Para uma versão sem bloqueio de um fclose, consulte _fclose_nolock.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Função Cabeçalho necessário
fclose <stdio.h>
_fcloseall <stdio.h>

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

Exemplo

Confira o exemplo de fopen.

Confira também

E/S de fluxo
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen