Sdílet prostřednictvím


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, , fsetposnebo 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í errnoEINVAL 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