Funkcija clearerr () notīra faila beigu un kļūdas indikatorus attiecīgajai straumei.
Programmējot C, clearerr () notīra faila beigu un kļūdas indikatorus attiecīgajai straumei.
clearerr()
Funkcija ir definēta header failā.
C clearerr () Prototips
void clearerr (FILE * straume);
Funkcija clearerr () ņem vienu parametru, kas ir rādītājs FILE objektam, kas identificē straumi.
Funkcija neatgriež vērtību.
Piemērs: C clearerr () funkcija
#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; )
Rezultāts
Kļūda, rakstot uz myfile.txt, nav kļūdu, lasot myfile.txt
Šī programma atver esošu failu, kuru myfile.txt
nepieciešams lasīt.
Tagad funkcija fputc()
mēģina rakstīt failā. Tā kā rakstīšana nav atļauta lasīšanas režīmā, tas izraisa I / O kļūdu.
Tomēr šī kļūda tiek izdzēsta, izmantojot clearerr()
. Tātad, kad nākamā kļūdas pārbaude notiek ferror()
funkcijā, tas parāda, ka kļūdas nav atrastas.