ferror  função

A função ferror verifica o indicador de erro do fluxo e retorna um valor diferente de zero se este indicador estiver setado.

O indicador de erro de um fluxo pode ser limpo utilizando a função clearerr.

Protótipo

int ferror (FILE * fluxo);

Parâmetros

fluxo - Fluxo a ter o seu indicador de erro testado.

Valor de retorno

Retorna um valor diferente de zero se e apenas se o indicador de erro do fluxo estiver setado. Se o indicador de erro estiver limpo, retorna zero.

Exemplo

Esse programa abre um arquivo em modo somente escrita e tenta ler dele utilizando a função fgetc. Naturalmente, a leitura falha. O indicador de erro é setado e pode ser verificado utilizando ferror.

#include <stdio.h>

int main() {
    FILE *arquivo;
    char c;

    arquivo = fopen("arquivo.txt", "w");
    if(arquivo == NULL) {
        fprintf(stdderr, "Erro ao abrir o arquivo.txt\n");
        return 1;
    }

    c = fgetc(arquivo);
    if(ferror(arquivo)) {
        fprintf(stderr, "Erro ao ler do arquivo.txt\n");
    }

    fclose(arquivo);

    return 0;
}
Veja também

clearerr função

perror função

feof função