clearerr_s
Réinitialiser l’indicateur d’erreur pour un flux. Cette fonction est une version des améliorations de clearerr
sécurité décrites dans les fonctionnalités de sécurité du CRT.
Syntaxe
errno_t clearerr_s(
FILE *stream
);
Paramètres
stream
Pointeur désignant la structure FILE
Valeur retournée
Zéro si elle réussit ; EINVAL
si stream
c’est NULL
.
Notes
La fonction clearerr_s
réinitialise l’indicateur d’erreur et l’indicateur de fin de fichier pour stream
. Les indicateurs d’erreur ne sont pas effacés automatiquement ; une fois que l’indicateur d’erreur d’un flux spécifié est défini, les opérations sur ce flux continuent de retourner une valeur d’erreur jusqu’à ce que clearerr_s
, , clearerr
, fseek
, fsetpos
ou rewind
soit appelé.
Si stream
a la valeur NULL
, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction affecte la valeur errno
à EINVAL
et retourne EINVAL
.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
clearerr_s |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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();
}
}
}
Entrée
n
Sortie
Write error: Bad file descriptor
Will input cause an error? n
Voir aussi
Gestion des erreurs
E/S de flux
clearerr
_eof
feof
ferror
perror
, _wperror