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_s
wywołania metody , , clearerr
fseek
, fsetpos
lub rewind
.
Jeśli stream
parametr ma NULL
wartość , 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