Freigeben über


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 fsetposwird clearerraufgerufen.

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 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