Функцията clearrerr () изчиства края на файла и индикаторите за грешки за дадения поток.
При програмиране на C, clearrerr () изчиства индикаторите за края на файла и грешките за дадения поток.
В clearerr()
функция се определя в заглавния файл.
C clearrerr () Прототип
void 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()
опитва да запише във файла. Тъй като писането не е разрешено в режим на четене, това води до I / O грешка.
Тази грешка обаче се изчиства с помощта на clearerr()
. И така, когато следващата проверка за грешка се появи във ferror()
функцията, тя показва, че не са открити грешки.