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
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"