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_s
que se llama a , clearerr
, fseek
, fsetpos
o rewind
.
Si stream
es NULL
, se invoca el controlador de parámetros no válidos, tal y 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