clearerr_s
Setzt den Fehlerindikator für einen Stream zurück. Diese Funktion ist eine Version von clearerr
Sicherheitsverbesserungen, wie in den Sicherheitsfeatures im CRT beschrieben.
Syntax
errno_t clearerr_s(
FILE *stream
);
Parameter
stream
Zeiger zur FILE
-Struktur
Rückgabewert
Null bei erfolgreicher Ausführung; EINVAL
if stream
is NULL
.
Hinweise
Die clearerr_s
-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_s
, , , fseek
, oder rewind
fsetpos
wird clearerr
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 gibt EINVAL
zurück.
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_s |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_clearerr_s.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;
errno_t err;
// Create an error by writing to standard input.
putc( 'c', stdin );
if( ferror( stdin ) )
{
perror( "Write error" );
err = clearerr_s( stdin );
if (err != 0)
{
abort();
}
}
// See if read causes an error.
printf( "Will input cause an error? " );
c = getc( stdin );
if( ferror( stdin ) )
{
perror( "Read error" );
err = clearerr_s( stdin );
if (err != 0)
{
abort();
}
}
}
Eingabe
n
Ausgabe
Write error: Bad file descriptor
Will input cause an error? n
Siehe auch
Fehlerbehandlung
Stream-E/A
clearerr
_eof
feof
ferror
perror
, _wperror