Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Redefine o indicador de erro para um fluxo. Essa função é uma versão do com aprimoramentos de clearerr segurança, conforme descrito em Recursos de segurança no CRT.
Sintaxe
errno_t clearerr_s(
FILE *stream
);
Parâmetros
stream
Ponteiro para a estrutura FILE
Valor retornado
Zero se for bem-sucedido; EINVAL se stream é NULL.
Comentários
A função clearerr_s 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_sque , clearerr, 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 para EINVAL e retornará EINVAL.
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_s |
<stdio.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// 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();
}
}
}
Entrada
n
Saída
Write error: Bad file descriptor
Will input cause an error? n
Confira também
Tratamento de erros
E/S de fluxo
clearerr
_eof
feof
ferror
perror, _wperror