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.txt
vaaditaan 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.