C clearerr () - Bibliothèque standard C

La fonction clearerr () efface les indicateurs de fin de fichier et d'erreur pour le flux donné.

En programmation C, clearerr () efface les indicateurs de fin de fichier et d'erreur pour le flux donné.

La clearerr()fonction est définie dans le fichier d'en-tête.

Prototype C clearerr ()

 void clearerr (FILE * stream);

La fonction clearerr () prend un paramètre qui est le pointeur vers un objet FILE qui identifie le flux.

La fonction ne renvoie aucune valeur.

Exemple: fonction C clearerr ()

 #include int main () ( FILE * pFile; pFile = fopen("myfile.txt","r"); if (pFile == NULL) perror ("Error opening file"); else ( fputc('x', pFile); if(ferror(pFile)) ( printf("Error Writing to myfile.txt"); clearerr(pFile); ) fgetc(pFile); if (!ferror(pFile)) printf("No errors reading myfile.txt"); fclose(pFile); ) return 0; ) 

Production

 Erreur d'écriture dans myfile.txt Aucune erreur lors de la lecture de myfile.txt 

Ce programme ouvre un fichier existant appelé myfile.txtpour lecture.

Maintenant, la fonction fputc()essaie d'écrire dans le fichier. Puisque l'écriture n'est pas autorisée en mode lecture, elle provoque une erreur d'E / S.

Cependant, cette erreur est effacée à l'aide de clearerr(). Ainsi, lorsque le prochain contrôle d'erreur se produit dans la ferror()fonction, il affiche qu'aucune erreur n'a été trouvée.

Articles intéressants...