Функція clearerr () очищає кінець файлу та індикатори помилок для даного потоку.
У програмуванні C більш чіткий () очищає кінці файлу та індикатори помилок для даного потоку.
clearerr()
Функція визначена в заголовки.
C clearrerr () Прототип
очищення порожнеч (FILE * потік);
Функція clearrerr () приймає один параметр, який є покажчиком на об'єкт FILE, який ідентифікує потік.
Функція не повертає жодного значення.
Приклад: функція C clearrerr ()
#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()
функції, вона відображає, що помилок не виявлено.