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é clearerr
que , 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