Функция ferror

Прототип функции ferror:

int ferror( FILE * filestream );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Функция ferror отслеживает появление ошибки, связанной с потоком, который передаётся через параметр filestream. Если ошибка была обнаружена, возвращается значение, отличное от нуля.
Эту функцию целесообразно вызывать после выполнения предыдущей операции с потоком. Таким образом. если предыдущая операция выполнится с ошибкой, функция ferror проинформирует об этом.

Параметры:

  • filestream
    Указатель на объект типа FILE, идентифицируемый поток.

Возвращаемое значение

Если возникла ошибка, связанная с потоком, функция возвращает ненулевое значение.
В противном случае возвращается нулевое значение.

Пример: исходный код программы

//пример использования ferror

#include <cstdio>

int main()
{
  FILE * ptrFile = fopen("file.txt","r");
  if (ptrFile == NULL) perror("Ошибка открытия файла");
  else
  {
    fputc('x', ptrFile); // записать в файл file.txt символ 'x'

    if ( ferror(ptrFile) ) // если произошла ошибка
      puts("Ошибка записи файла file.txt");

    fclose (ptrFile); //закрыть файл
  }
  return 0;
}

Пример работы программы

Эта программа открывает существующий текстовый файл file.txt в режиме, только для чтения, и при этом, программа пытается записать в файл символ. При попытке записи в файл. открытый в режиме — только для чтения, генерируется ошибка, а функция ferror отлавливает эту ошибку.

CppStudio.com
Ошибка записи файла file.txt
Автор: Marienko L.
Дата: 14.09.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.