clearerr
Réinitialiser l’indicateur d’erreur pour un flux. Une version plus sécurisée de cette fonction est disponible ; voir clearerr_s
.
Syntaxe
void clearerr(
FILE *stream
);
Paramètres
stream
Pointeur vers la structure FILE
.
Notes
La fonction clearerr
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’à clearerr
ce que , fseek
, ou fsetpos
rewind
soit appelée.
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 à errno
la valeur EINVAL
et retourne. Pour plus d’informations sur les codes d’erreur et les errno
codes d’erreur, consultez errno
les constantes.
Une version plus sécurisée de cette fonction est disponible ; voir clearerr_s
.
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 |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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" );
}
Entrée
n
Sortie
Write error: No error
Will input cause an error? n
No read error
Voir aussi
Gestion des erreurs
E/S de flux
_eof
feof
ferror
perror
, _wperror