Função de biblioteca C - ferror ()

Descrição

A função da biblioteca C int ferror(FILE *stream) testa o indicador de erro para o fluxo fornecido.

Declaração

A seguir está a declaração da função ferror ().

int ferror(FILE *stream)

Parâmetros

  • stream - Este é o ponteiro para um objeto FILE que identifica o fluxo.

Valor de retorno

Se o indicador de erro associado ao fluxo foi definido, a função retorna um valor diferente de zero, caso contrário, retorna um valor zero.

Exemplo

O exemplo a seguir mostra o uso da função ferror ().

#include <stdio.h>

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

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) ) {
      printf("Error in reading from file : file.txt\n");
   }
   clearerr(fp);
   
   if( ferror(fp) ) {
      printf("Error in reading from file : file.txt\n");
   }
   fclose(fp);

   return(0);
}

Supondo que temos um arquivo de texto file.txt, que é um arquivo vazio. Vamos compilar e executar o programa acima que irá produzir o seguinte resultado porque tentamos ler um arquivo que abrimos emwrite only modo.

Error reading from file "file.txt"