Scroll to navigation

ferror(3) Library Functions Manual ferror(3)

NOME

clearerr, feof, ferror - verifica e redefine estado de um fluxo

BIBLIOTECA

Biblioteca C Padrão (libc, -lc)

SINOPSE

#include <stdio.h>
void clearerr(FILE *fluxo);
int feof(FILE *fluxo);
int ferror(FILE *fluxo);

DESCRIÇÃO

A função clearerr() limpa os indicadores de fim de arquivo (eof) e de erro para o fluxo.

A função feof() testa o indicador de fim de arquivo para o fluxo apontado por fluxo, retornando um valor diferente de zero se estiver definido. O indicador de fim de arquivo somente pode ser desligado apenas pela função clearerr().

A função ferror() testa o indicador de erro para o o fluxo apontado por fluxo, retornando um valor diferente de zero se estiver definido. O indicador de erro somente pode ser redefinido apenas pela função clearerr().

Para contrapartes não bloqueantes, veja unlocked_stdio(3).

VALOR DE RETORNO

A função feof() retorna diferente de zero se o indicador de fim de arquivo estiver definido para fluxo; caso contrário, retorna zero.

A função ferror() retorna diferente de zero se o indicador de erro estiver definido para fluxo; caso contrário, retorna zero.

ERROS

Estas funções não devem falhar e não definem errno.

ATRIBUTOS

Para uma explicação dos termos usados nesta seção, consulte attributes(7).

Interface Atributo Valor
clearerr(), feof(), ferror() Thread safety MT-Safe

PADRÕES

C11, POSIX.1-2008.

HISTÓRICO

C89, POSIX.1-2001.

NOTAS

POSIX.1-2008 especifica que essas funções não devem alterar o valor de errno se fluxo for válido.

CAVEATS

Normally, programs should read the return value of an input function, such as fgetc(3), before using functions of the feof(3) family. Only when the function returned the sentinel value EOF it makes sense to distinguish between the end of a file or an error with feof(3) or ferror(3).

VEJA TAMBÉM

open(2), fdopen(3), fileno(3), stdio(3), unlocked_stdio(3)

TRADUÇÃO

A tradução para português brasileiro desta página man foi criada por Felipe M Pereira <Felipe.Pereira@ic.unicamp.br>, André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores.

20 julho 2023 Linux man-pages 6.05.01