Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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