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
, , fsetpos
oder rewind
wird aufgerufen.
Wenn stream
den Wert NULL
annimmt, 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