Fonctions de la bibliothèque C -clearerr()
Bibliothèque standard C - <stdio.h>
Description
Fonctions de la bibliothèque Cvoid clearerr(FILE *stream)Efface les indicateurs de fin de fichier et d'erreur pour le flux donné.
Déclaration
Ci-dessous se trouve la déclaration de la fonction clearerr().
void clearerr(FILE *stream)
Paramètre
- stream-- Il s'agit d'un pointeur vers un objet FILE qui identifie le flux.
Valeur de retour
Cette fonction n'échoue pas et ne définit pas la variable externe errno, mais si elle détecte que son argument n'est pas un flux valide, elle renvoie -1 et définit errno sur EBADF.
Exemple
L'exemple suivant illustre l'utilisation de la fonction clearerr().
Exemple
#include <stdio.h>
int main()
{
FILE *fp;
char c;
fp = fopen("file.txt", "w");
c = fgetc(fp);
if( ferror(fp) )
{
printf("Erreur de lecture du fichier : file.txt\n");
}
clearerr(fp);
if( ferror(fp) )
{
printf("Erreur de lecture du fichier : file.txt\n");
}
fclose(fp);
return(0);
}
int main()
{
FILE *fp;
char c;
fp = fopen("file.txt", "w");
c = fgetc(fp);
if( ferror(fp) )
{
printf("Erreur de lecture du fichier : file.txt\n");
}
clearerr(fp);
if( ferror(fp) )
{
printf("Erreur de lecture du fichier : file.txt\n");
}
fclose(fp);
return(0);
}
Supposons que nous ayons un fichier textefile.txt, qui est un fichier vide. Compilons et exécutons le programme ci-dessus. Comme nous tentons de lire un fichier ouvert en mode écriture seule, cela produira le résultat suivant.
读取文件:file.txt 时发生错误autres extensions