Die Funktion clearerr () löscht die Dateiende- und Fehleranzeigen für den angegebenen Stream.
Bei der C-Programmierung löscht clearerr () die Dateiende- und Fehleranzeigen für den angegebenen Stream.
Die clearerr()
Funktion ist in der Header-Datei definiert.
C clearerr () Prototyp
void clearerr (FILE * stream);
Die Funktion clearerr () verwendet einen Parameter, der der Zeiger auf ein FILE-Objekt ist, das den Stream identifiziert.
Die Funktion gibt keinen Wert zurück.
Beispiel: C clearerr () Funktion
#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; )
Ausgabe
Fehler beim Schreiben in myfile.txt Keine Fehler beim Lesen von myfile.txt
Dieses Programm öffnet eine vorhandene Datei, die myfile.txt
zum Lesen aufgerufen wird .
Jetzt versucht die Funktion fputc()
, in die Datei zu schreiben. Da das Schreiben im Lesemodus nicht zulässig ist, verursacht es einen E / A-Fehler.
Dieser Fehler wird jedoch mit gelöscht clearerr()
. Wenn die nächste Fehlerprüfung in der ferror()
Funktion erfolgt, wird angezeigt, dass keine Fehler gefunden wurden.