Condividi tramite


clearerr

Reimposta l'indicatore di errore per un flusso. È disponibile una versione più sicura di questa funzione; vedere clearerr_s.

Sintassi

void clearerr(
   FILE *stream
);

Parametri

stream
Puntatore alla struttura FILE .

Osservazioni:

La funzione clearerr reimposta l'indicatore di errore e l'indicatore di fine del file per stream. Gli indicatori di errore non vengono cancellati automaticamente; una volta impostato l'indicatore di errore per un flusso specificato, le operazioni su tale flusso continuano a restituire un valore di errore finché clearerrnon viene chiamato , fseekfsetpos, 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 su EINVAL e restituisce. Per altre informazioni sui errno codici di errore e , vedere errno costanti.

È disponibile una versione più sicura di questa funzione; vedere clearerr_s.

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 <stdio.h>

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

Esempio

// crt_clearerr.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;
   // Create an error by writing to standard input.
   putc( 'c', stdin );
   if( ferror( stdin ) )
   {
      perror( "Write error" );
      clearerr( stdin );
   }

   // See if read causes an error.
   printf( "Will input cause an error? " );
   c = getc( stdin );
   if( ferror( stdin ) )
   {
      perror( "Read error" );
      clearerr( stdin );
   }
   else
      printf( "No read error\n" );
}

Input

n

Output

Write error: No error
Will input cause an error? n
No read error

Vedi anche

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