C-Bibliotheksfunktionen -clearerr()

C-Standardbibliothek - <stdio.h>

Beschreibung

C-Bibliotheksfunktionenvoid clearerr(FILE *stream)Löscht die Dateiende- und Fehlerindikatoren für den angegebenen Stream.

Deklaration

Nachfolgend finden Sie die Deklaration der Funktion clearerr().

void clearerr(FILE *stream)

Parameter

  • stream-- Dies ist ein Zeiger auf ein FILE-Objekt, das den Stream identifiziert.

Rückgabewert

Dies schlägt nicht fehl und setzt nicht die externe Variable errno, aber wenn es erkennt, dass sein Argument kein gültiger Stream ist, gibt es -1 zurück und setzt errno auf EBADF.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Funktion clearerr().

Beispiel

#include <stdio.h>

int main()
{
   FILE *fp;
   char c;

   fp = fopen("file.txt", "w");

   c = fgetc(fp);
   if( ferror(fp) )
   {
      printf("Fehler beim Lesen der Datei: file.txt\n");
   }
   clearerr(fp);
   if( ferror(fp) )
   {
      printf("Fehler beim Lesen der Datei: file.txt\n");
   }
   fclose(fp);

   return(0);
}

Angenommen, wir haben eine Textdateifile.txt, die eine leere Datei ist. Lassen Sie uns das obige Programm kompilieren und ausführen. Da wir versuchen, eine im Nur-Schreibmodus geöffnete Datei zu lesen, wird dies das folgende Ergebnis liefern.

读取文件:file.txt 时发生错误

C-Standardbibliothek - <stdio.h>

Weitere Erweiterungen