clearerr_s

Restablece el indicador de error de una secuencia. Esta función es una versión de con mejoras de seguridad, como se describe en Características de clearerr seguridad de CRT.

Sintaxis

errno_t clearerr_s(
   FILE *stream
);

Parámetros

stream
Puntero a la estructura FILE

Valor devuelto

Cero si se ejecuta correctamente; EINVAL si stream es NULL.

Comentarios

La función clearerr_s 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 clearerr_sque se llama a , clearerr, 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 devuelve EINVAL.

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_s <stdio.h>

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

Ejemplo

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

Salida

Write error: Bad file descriptor
Will input cause an error? n

Consulte también

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