Udostępnij za pośrednictwem


clearerr

Resetuje wskaźnik błędu dla strumienia. Dostępna jest bezpieczniejsza wersja tej funkcji; zobacz clearerr_s.

Składnia

void clearerr(
   FILE *stream
);

Parametry

stream
Wskaźnik do FILE struktury.

Uwagi

Funkcja clearerr resetuje wskaźnik błędu i wskaźnik końca pliku dla elementu stream. Wskaźniki błędów nie są automatycznie czyszczone; po ustawieniu wskaźnika błędu dla określonego strumienia operacje na tym strumieniu będą nadal zwracać wartość błędu do clearerrwywołania metody , fseek, fsetposlub rewind .

Jeśli stream parametr ma NULLwartość , wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, ta funkcja ustawia wartość errno EINVAL i zwraca. Aby uzyskać więcej informacji na errno temat kodów błędów i ich kodów, zobacz errno stałe.

Dostępna jest bezpieczniejsza wersja tej funkcji; zobacz clearerr_s.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Wymagania

Procedura Wymagany nagłówek
clearerr <stdio.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Przykład

// 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" );
}

Dane wejściowe

n

Dane wyjściowe

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

Zobacz też

Obsługa błędów
We/Wy strumienia
_eof
feof
ferror
perror, _wperror