C clearerr () - C standartinė biblioteka

Funkcija „clearerr“ () išvalo failo pabaigos ir duoto srauto klaidų rodiklius.

Programuojant C, „clearerr“ () išvalo failo pabaigos ir duoto srauto klaidų rodiklius.

clearerr()Funkcija apibrėžta antraštės faile.

C clearerr () Prototipas

 void clearerr (FILE * srautas);

Funkcija clearerr () paima vieną parametrą, kuris yra FILE objekto, identifikuojančio srautą, žymeklis.

Funkcija negrąžina jokios vertės.

Pavyzdys: 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; ) 

Rezultatas

 Rašant myfile.txt įvyko klaida Nėra klaidų skaitant myfile.txt 

Ši programa atidaro esamą failą, kurį myfile.txtreikia perskaityti.

Dabar funkcija fputc()bando rašyti į failą. Kadangi skaitymo režimu rašyti negalima, tai sukelia įvesties / išvesties klaidą.

Tačiau ši klaida pašalinama naudojant clearerr(). Taigi, kai kitas klaidos patikrinimas įvyksta ferror()funkcijoje, rodo, kad klaidų nerasta.

Įdomios straipsniai...