C clearerr () - C-vakiokirjasto

Clearerr () -toiminto tyhjentää tiedoston lopun ja virheen osoittimet annetulle virralle.

C-ohjelmoinnissa clearerr () tyhjentää tiedoston lopun ja virheen osoittimet annetulle virralle.

clearerr()Toiminto määritellään otsikkotiedostoon.

C clearerr () Prototyyppi

 void clearerr (FILE * virta);

Funktio clearerr () vie yhden parametrin, joka osoittaa virran tunnistavan FILE-objektin.

Funktio ei palauta arvoa.

Esimerkki: C clearerr () -toiminto

 #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; ) 

Tuotos

 Virhe kirjoitettaessa myfile.txt-tiedostoon Ei virheitä luettaessa myfile.txt-tiedostoa 

Tämä ohjelma avaa olemassa olevan tiedoston, jota myfile.txtvaaditaan lukemiseen.

Nyt toiminto fputc()yrittää kirjoittaa tiedostoon. Koska kirjoittaminen ei ole sallittua lukutilassa, se aiheuttaa I / O-virheen.

Tämä virhe poistetaan kuitenkin käyttämällä clearerr(). Joten kun seuraava virheen tarkistus tapahtuu ferror()toiminnossa, se osoittaa, että virheitä ei löytynyt.

Mielenkiintoisia artikkeleita...