Freigeben über


clearerr

Setzt den Fehlerindikator für einen Stream zurück. Eine sicherere Version dieser Funktion ist verfügbar; siehe clearerr_s.

Syntax

void clearerr(
   FILE *stream
);

Parameter

stream
Zeiger zur FILE -Struktur.

Hinweise

Die clearerr-Funktion setzt den Fehlerindikator und den Dateiende-Indikator für stream zurück. Fehlerindikatoren werden nicht automatisch gelöscht; sobald der Fehlerindikator für einen angegebenen Datenstrom festgelegt wurde, geben Vorgänge in diesem Datenstrom weiterhin einen Fehlerwert zurück, bis clearerr, fseek, , fsetposoder rewind wird aufgerufen.

Wenn stream den Wert NULLannimmt, wird der Handler für ungültige Parameter aufgerufen, wie in Parameter Validation. Wenn die weitere Ausführung zugelassen wird, legt diese Funktion errno auf EINVAL fest und kehrt dann zurück. Weitere Informationen zu errno und Fehlercodes finden Sie unter errno Konstanten.

Eine sicherere Version dieser Funktion ist verfügbar; siehe clearerr_s.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Anforderungen

Routine Erforderlicher Header
clearerr <stdio.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// crt_clearerr.c
// This program creates an error
// on the standard input stream, then clears
// it so that future reads won't fail.

#include <stdio.h>

int main( void )
{
   int c;
   // Create an error by writing to standard input.
   putc( 'c', stdin );
   if( ferror( stdin ) )
   {
      perror( "Write error" );
      clearerr( stdin );
   }

   // See if read causes an error.
   printf( "Will input cause an error? " );
   c = getc( stdin );
   if( ferror( stdin ) )
   {
      perror( "Read error" );
      clearerr( stdin );
   }
   else
      printf( "No read error\n" );
}

Eingabe

n

Ausgabe

Write error: No error
Will input cause an error? n
No read error

Siehe auch

Fehlerbehandlung
Stream-E/A
_eof
feof
ferror
perror, _wperror