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.

RESSALVAS
Normalmente, os programas devem ler o valor de retorno de uma função de entrada, como fgetc(3), antes de usar funções da família feof(3). Somente quando a função retorna o valor sentinela EOF faz sentido distinguir entre o fim de um arquivo ou um erro com feof(3) ou 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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 (debian-l10n-portuguese@lists.debian.org).