Compartilhar via


clearerr

Redefine o indicador de erro para um fluxo. Uma versão mais segura dessa função está disponível, confira clearerr_s.

Sintaxe

void clearerr(
   FILE *stream
);

Parâmetros

stream
Ponteiro para a estrutura FILE.

Comentários

A função clearerr redefine o indicador de erro e o indicador de final de arquivo como stream. Os indicadores de erro não são apagados automaticamente; Depois que o indicador de erro para um fluxo especificado é definido, as operações nesse fluxo continuam a retornar um valor de erro até clearerrque , fseek, fsetpos, ou rewind seja chamado.

Se stream for NULL, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essa função definirá errno como EINVAL e retornará. Para obter mais informações sobre errno códigos de erro, consulte errno constantes.

Uma versão mais segura dessa função está disponível, confira clearerr_s.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Rotina Cabeçalho necessário
clearerr <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Entrada

n

Saída

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

Confira também

Tratamento de erros
E/S de fluxo
_eof
feof
ferror
perror, _wperror