Funcția clearerr () șterge indicatorii de sfârșit de fișier și erori pentru fluxul dat.
În programarea C, clearerr () șterge indicatorii de sfârșit de fișier și erori pentru fluxul dat.
clearerr()
Funcția este definită în fișierul antet.
C clearerr () Prototip
void clearerr (flux FILE *);
Funcția clearerr () ia un parametru care este indicatorul către un obiect FILE care identifică fluxul.
Funcția nu returnează nicio valoare.
Exemplu: funcția 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; )
Ieșire
Eroare la scrierea pe myfile.txt Nu există erori la citirea myfile.txt
Acest program deschide un fișier existent numit myfile.txt
pentru citire.
Acum, funcția fputc()
încearcă să scrie în fișier. Deoarece, scrierea nu este permisă în modul de citire, provoacă o eroare I / O.
Cu toate acestea, această eroare este eliminată folosind clearerr()
. Deci, atunci când următoarea verificare a erorilor apare în ferror()
funcție, se afișează că nu au fost găsite erori.