Содержание | Глава 13

Функция ferror

#include <stdio.h>
int ferror(FILE *stream);

Функция ferror() проверяет наличие ошибки при работе с файлом, связанным с потоком stream. Нулевое значение, возвращаемое этой функцией, говорит о том, что никакой ошибки не обнаружено, а ненулевое значение означает ее наличие.

Чтобы определить природу ошибки, нужно воспользоваться функцией perror().

Пример

Следующий фрагмент программы приводит к аварийному прекращению ее работы при возникновении ошибки.

/*
  Предполагается, что fp указывает на поток,
  открытый для записи.
*/

while(!done) {
  putc(info, fp);
  if(ferror(fp)) {
    printf("Ошибка при работе с файлом\n");
    exit(1);
  }
} 

Зависимые функции

clearrer() feof() perror()
Содержание | Глава 13