clearerr_s
Obnoví indikátor chyby datového proudu. Tato funkce je verze clearerr
s vylepšeními zabezpečení, jak je popsáno v funkcích zabezpečení v CRT.
Syntaxe
errno_t clearerr_s(
FILE *stream
);
Parametry
stream
Ukazatel na FILE
strukturu
Vrácená hodnota
Nula v případě úspěchu; EINVAL
pokud stream
je NULL
.
Poznámky
Funkce clearerr_s
resetuje indikátor chyby a indikátor konce souboru pro stream
. Indikátory chyb nejsou automaticky vymazány; jakmile je nastaven indikátor chyby pro zadaný datový proud, operace v tomto datovém proudu budou nadále vracet chybovou hodnotu do clearerr_s
, clearerr
, fseek
, , fsetpos
nebo rewind
je volána.
Pokud stream
je NULL
, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, tato funkce nastaví errno
EINVAL
a vrátí EINVAL
.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
clearerr_s |
<stdio.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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();
}
}
}
Vstup
n
Výstup
Write error: Bad file descriptor
Will input cause an error? n
Viz také
Zpracování chyb
Vstupně-výstupní operace streamu
clearerr
_eof
feof
ferror
perror
, _wperror