Udostępnij za pośrednictwem


clearerr_s

Resetuje wskaźnik błędu dla strumienia. Ta funkcja jest wersją z ulepszeniami zabezpieczeń clearerr zgodnie z opisem w temacie Funkcje zabezpieczeń w narzędziu CRT.

Składnia

errno_t clearerr_s(
   FILE *stream
);

Parametry

stream
Wskaźnik do FILE struktury

Wartość zwracana

Zero w przypadku powodzenia; EINVAL jeśli stream ma wartość NULL.

Uwagi

Funkcja clearerr_s 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 clearerr_swywołania metody , , clearerrfseek, 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 errno wartość EINVAL i zwraca wartość EINVAL.

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

Wymagania

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

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

Przykład

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

Dane wejściowe

n

Dane wyjściowe

Write error: Bad file descriptor
Will input cause an error? n

Zobacz też

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