C clearerr () - Стандартная библиотека C

Функция clearerr () очищает индикаторы конца файла и ошибки для данного потока.

В программировании на C clearerr () очищает индикаторы конца файла и ошибки для данного потока.

clearerr()Функция определена в заголовочном файле.

Прототип C clearerr ()

 void clearerr (ФАЙЛ * поток);

Функция clearerr () принимает один параметр, который является указателем на объект FILE, который идентифицирует поток.

Функция не возвращает никакого значения.

Пример: функция C clearerr ()

 #include int main () ( FILE * pFile; pFile = fopen("myfile.txt","r"); if (pFile == NULL) perror ("Error opening file"); else ( fputc('x', pFile); if(ferror(pFile)) ( printf("Error Writing to myfile.txt"); clearerr(pFile); ) fgetc(pFile); if (!ferror(pFile)) printf("No errors reading myfile.txt"); fclose(pFile); ) return 0; ) 

Вывод

 Ошибка записи в myfile.txt Нет ошибок при чтении myfile.txt 

Эта программа открывает существующий файл, который требуется myfile.txtдля чтения.

Теперь функция fputc()пытается записать в файл. Поскольку запись в режиме чтения не разрешена, это вызывает ошибку ввода-вывода.

Однако эта ошибка устраняется с помощью clearerr(). Таким образом, когда в ferror()функции происходит следующая проверка ошибок , она показывает, что ошибок не обнаружено.

Интересные статьи...