FERROR |
Erreur fichier |
---|---|
Langage C | stdio.h |
Syntaxe
int ferror(FILE *ptrfichier); |
Paramètres
Nom | Description |
---|---|
ptrfichier | Ce paramètre permet d'indiquer l'identificateur de fichier |
Description
Cette fonction retourne le code d'erreur d'entrée/sortie du fichier.
Algorithme
MODULE FERROR(stream) SI une erreur s'est produite dans stream ALORS * Une erreur a été détectée RETOURNE 1 SINON * Aucune erreur RETOURNE 0 FIN SI |
Remarques
- Vérification des erreurs de flux de données : La fonction ferror permet de vérifier si une erreur s'est produite lors des opérations sur un flux de données. Elle retourne une valeur non nulle si une erreur a été détectée et 0 si aucune erreur n'a eu lieu. Cela est utile pour gérer proprement les erreurs d'entrée/sortie, notamment lors de la lecture ou de l'écriture dans des fichiers.
- Utilisation après une opération de fichier : ferror doit être utilisée après une opération de lecture ou d'écriture, comme fread, fwrite, ou fscanf, pour déterminer si une erreur a eu lieu pendant cette opération. En combinant cette fonction avec des appels à clearerr (qui réinitialise l'état d'erreur), les erreurs peuvent être gérées efficacement dans les programmes qui manipulent des fichiers.
- Retourne une valeur non nulle pour toute erreur : Si une erreur de lecture ou d'écriture est détectée sur un flux, ferror renverra une valeur non nulle, ce qui signifie qu'il y a eu une défaillance dans l'opération. Cette valeur peut être utilisée dans une logique conditionnelle pour prendre des mesures correctives, comme fermer le fichier ou alerter l'utilisateur.
- Diagnostic des erreurs liées au flux : ferror ne fournit pas de détails spécifiques sur l'erreur. Pour obtenir plus d'informations sur la nature de l'erreur, il est souvent nécessaire d'utiliser d'autres fonctions, telles que perror ou strerror, pouvant renvoyer un message d'erreur détaillé basé sur les codes d'erreur internes du système.
- Ne fonctionne que pour les flux de type FILE* : La fonction ferror est spécifique aux flux de type FILE*, ce qui signifie qu'elle est utilisée pour les fichiers ouverts via les fonctions comme fopen ou fdopen. Elle ne fonctionne pas sur des flux de types autres, comme ceux créés par des mécanismes différents (par exemple, des sockets réseau).
- Fonction utile pour les programmes robustes : L'utilisation de ferror est essentielle dans des programmes robustes manipulant des fichiers, car elle permet d'intercepter les erreurs avant que les problèmes ne deviennent graves. Par exemple, dans un programme qui écrit dans un fichier, détecter une erreur d'écriture peut permettre de faire une tentative de réécriture ou de signaler l'erreur à l'utilisateur.
- Important lors de la gestion des fichiers binaires : Lors de la lecture ou de l'écriture de fichiers binaires, ferror est particulièrement utile pour vérifier que l'opération a été effectuée correctement. En effet, une erreur silencieuse pourrait entraîner la perte de données ou un fichier corrompu, et l'utilisation de ferror aide à détecter et à corriger ces situations avant qu'elles ne causent des problèmes majeurs.
Exemple
Cet exemple effectue une écriture dans un fichier ouvert en écriture :
Essayer maintenant !
on obtiendra le résultat semblable suivant :
Erreur 32 = Broken pipeVoir également
Langage de programmation - C - Référence procédures et fonctions - clearerr
Langage de programmation - C - Référence procédures et fonctions - feof
Langage de programmation - C++ - Référence procédures et fonctions - ferror
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 97.
Dernière mise à jour : Mardi, le 28 juillet 2015