Condividi tramite


clearerr_s

Reimposta l'indicatore di errore per un flusso. Questa funzione è una versione di con miglioramenti della clearerr sicurezza, come descritto in Funzionalità di sicurezza in CRT.

Sintassi

errno_t clearerr_s(
   FILE *stream
);

Parametri

stream
Puntatore alla struttura FILE

Valore restituito

Zero se ha esito positivo; EINVAL se stream è NULL.

Osservazioni:

La funzione clearerr_s reimposta l'indicatore di errore e l'indicatore di fine del file per stream. Gli indicatori di errore non vengono cancellati automaticamente; dopo aver impostato l'indicatore di errore per un flusso specificato, le operazioni su tale flusso continuano a restituire un valore di errore finché clearerr_snon viene chiamato , clearerrfseek, fsetpos, o rewind .

Se stream è NULL, viene richiamato il gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione imposta errno suEINVAL e restituisce EINVAL.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria
clearerr_s <stdio.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

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

Input

n

Output

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

Vedi anche

Gestione errori
I/O di flusso
clearerr
_eof
feof
ferror
perror, _wperror