clearerr

Restablece el indicador de error de una secuencia. Hay disponible una versión más segura de esta función; consulte clearerr_s.

Sintaxis

void clearerr(
   FILE *stream
);

Parámetros

stream
Puntero a la estructura FILE .

Comentarios

La función clearerr restablece el indicador de error y el indicador de fin de archivo para stream. Los indicadores de error no se borran automáticamente; Una vez establecido el indicador de error de una secuencia especificada, las operaciones de esa secuencia continúan devolviendo un valor de error hasta clearerrque se llama a , fseek, fsetposo rewind .

Si stream es NULL, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, la función establece errno en EINVAL y vuelve. Para obtener más información sobre errno los códigos de error y , consulte errno constantes.

Hay disponible una versión más segura de esta función; consulte clearerr_s.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Requisitos

Routine Encabezado necesario
clearerr <stdio.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// 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

Salida

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

Consulte también

Control de errores
E/S de secuencia
_eof
feof
ferror
perror, _wperror