Share via


clearerr_s

Redefine o indicador de erros para um fluxo.Esta é uma versão do clearerr com aprimoramentos de segurança, conforme descrito em Recursos de segurança no CRT.

errno_t clearerr_s(
   FILE *stream 
);

Parâmetros

  • stream
    Ponteiro para FILE estrutura

Valor de retorno

Zero se for bem sucedida; EINVALSe stream é NULL.

Comentários

O clearerr_s função redefine o indicador de erro e o indicador de fim-de-arquivo de stream.Indicadores de erro não são automaticamente desmarcadas. Quando o indicador de erros para um fluxo especificado é definido, as operações em que fluxo continuam para retornar um valor de erro até clearerr_s, clearerr, fseek, fsetpos, ou rewind é chamado.

Se stream é NULL, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, essa função define errno para EINVAL e retorna EINVAL.

Requisitos

Rotina

Cabeçalho necessário

clearerr_s

<stdio.h>

Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

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();
      }
   }
}
  n
  n
erro de gravação: descritor de arquivo incorreto
Entrada causará um erro? n

Equivalência do .NET Framework

Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Erro de manipulação (CRT)

Fluxo de i/O

clearerr

_eof

feof

ferror

perror, _wperror