CLEARERR |
Efface erreur |
---|---|
Langage C | stdio.h |
Syntaxe
void clearerr(FILE *ptrfic) |
Paramètres
Nom | Description |
---|---|
ptrfic | Ce paramètre permet d'indiquer l'identificateur de fichier |
Description
Cette fonction permet d'éliminer les indices d'erreurs et de fin de fichier.
Algorithme
MODULE clearerr(stream) * Vérifier si le flux de fichier est valide SI stream est NULL ALORS RETOURNE * Si le flux est invalide, ne rien faire FIN SI * Réinitialiser les indicateurs d'erreur et de fin de fichier stream.errorFlag ← false * Réinitialiser l'indicateur d'erreur stream.eofFlag ← false * Réinitialiser l'indicateur de fin de fichier |
Remarques
- Utilité principale : La fonction clearerr réinitialise l'état d'erreur et de fin de fichier (EOF) d'un flux donné. Elle est utile lorsque vous souhaitez réutiliser un flux après avoir traité des erreurs ou atteint la fin d'un fichier. Cela évite de fermer et rouvrir le flux.
- Effet sur ferror et feof : Après avoir appelé clearerr, les fonctions ferror et feof renvoient 0 (indiquant qu'il n'y a pas d'erreur ni de fin de fichier). Cela permet de remettre le flux dans un état opérationnel sans le fermer.
- Scénarios d'utilisation : clearerr est particulièrement utile dans les boucles où vous essayez de lire ou écrire dans un fichier. Si une erreur ou une fin de fichier se produit, vous pouvez réinitialiser l'état et réessayer.
- Aucun effet sur le pointeur du flux de données : clearerr n'affecte pas la position actuelle du pointeur dans le flux de données. Si une erreur est survenue pendant une opération, vous devrez peut-être ajuster manuellement le pointeur avec fseek ou rewind.
- Ne corrige pas l'erreur elle-même : Bien que clearerr réinitialise les drapeaux d'erreur et de fin de fichier, elle ne résout pas la cause sous-jacente de l'erreur. Par exemple, si le fichier n'est pas accessible, l'erreur se reproduira lors de la prochaine tentative de lecture ou écriture.
- Compatibilité et portabilité : clearerr est standard dans C89/C90 et fait partie des fonctions C standard. Elle est compatible sur toutes les plateformes majeures supportant le langage de programmation C. Elle est couramment utilisée dans des applications nécessitant une gestion fine des fichiers.
Exemple
Voici quelques exemples typiques de l'utilisation de cette fonction :
Essayer maintenant !
Voir également
Langage de programmation - C++ - Référence de procédures et fonctions - clearerr
Références
Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 731.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 52.
Dernière mise à jour : Mardi, le 28 juillet 2015