Fonction de ferror dans le langage C

Fonction de ferror dans le langage C
Il est courant pour nous de lire et d'écrire les fichiers avec notre code car il s'agit d'un outil puissant qui nous permet de stocker ou d'accéder à tout type de données que nous avons précédemment stockées sur l'ordinateur

Actuellement, il existe d'innombrables types de fichiers, à partir de feuilles de calcul ou de bases de données, créées par l'utilisateur vers des fichiers système qui permettent le fonctionnement du système d'exploitation ou d'autres programmes.

Une bonne gestion des fichiers améliore l'intégrité de leurs données. Par conséquent, il est important de les ouvrir, de les éditer et de les fermer de la bonne manière et de détecter les erreurs pendant ces opérations.

Dans ce Indice de linux Article sur la langue C, nous expliquerons comment utiliser le Ferror () fonction pour détecter les erreurs de gestion des fichiers. Nous examinerons la syntaxe de cette fonction, les arguments d'entrée et de sortie utilisés et le type de données accepté. Ensuite, nous examinerons la mise en œuvre de cette fonction ainsi que d'autres fonctions complémentaires et afficherons le processus étape par étape sur la façon de gérer les fichiers et comment utiliser Ferror () Utilisation correcte des fragments de code et des images.

Syntaxe de la fonction Ferror () dans la langue C

int err Ferror (fichier * f_ptr);

Ferror () Fonction Description dans le langage C

Le Ferror () Fonction interroge l'indicateur d'erreur associé au fichier référencé par f_ptr Dans son argument d'entrée.

Si l'erreur non se produit, «0» est renvoyé dans se tromper. Si l'indicateur d'erreur est actif, Ferror () Renvoie un résultat positif supérieur à zéro. Si l'indicateur d'erreur est actif, il doit être désactivé à nouveau avec la fonction Clearerr (). Sinon, il reste dans cet état jusqu'à ce que l'application qui ouvre le fichier soit fermée.

Le Ferror () fait partie de la bibliothèque d'entrée / sortie standard et est défini dans le «stdio.en-tête h ”. Pour utiliser cette ressource, nous devons l'inclure dans notre fichier de code comme suit:

#inclure

Une fois le «stdio.L'en-tête h ”est inclus, nous pouvons utiliser toutes les fonctionnalités de traitement des fichiers que nous verrons dans la section suivante.

Comment utiliser la fonction Ferror () dans le langage de programmation C pour vérifier si une erreur se produit lors du traitement d'un fichier

Dans cet exemple, nous vous montrerons le processus étape par étape sur la façon d'utiliser la fonction Ferror () pour vérifier si une erreur se produit lors du traitement d'un fichier. Pour ce faire, nous créons le code qui utilise les différentes fonctions pour ouvrir, fermer et lire les fichiers et utiliser le Ferror () fonction pour vérifier si aucune erreur ne s'est produite.

Le fichier que nous utiliserons dans cet exemple est ce que nous avons créé précédemment dans des «documents» sous l'exemple «LH.txt ”Nommez et écrivez un fragment d'Einstein dedans.

La première étape consiste à définir le f_ptr pointeur pour le fichier que nous utilisons. Ce pointeur est l'argument de sortie pour fopen () et l'argument d'entrée pour Ferror () et les autres fonctions de traitement de fichiers que nous utilisons. L'extrait suivant montre la définition de f_ptr et ouvre le fichier avec fopen ():

#inclure
#inclure
vide main ()

Fichier * f_ptr;
tampon char [250];
f_ptr = fopen ("Documents / LH Exemple.txt "," r ");
Fread (tampon, 120, 1, f_ptr);
printf ("% s", tampon);
if (ferror (f_ptr) == 0)
printf ("Le fichier a été lu avec succès \ n");
fclose (f_ptr);

Après avoir ouvert le fichier, il lit son contenu et appelle le Ferror () fonction dans le si condition pour vérifier l'état de ce drapeau. Si le fichier est lu avec succès, il renvoie «0» en conséquence. Ainsi, le programme tombe dans la condition IF et affiche le message suivant dans la console de commande, "Le fichier a été lu avec succès". Ensuite, nous fermons le fichier avec la fonction fclose ().

Erreurs renvoyées par les fonctions de traitement de fichiers dans le langage C

Dans cette section, nous examinerons comment repérer les erreurs dans les différentes fonctions de traitement des fichiers.

La fonction fopen () renvoie «0» si le fichier spécifié dans le chemin d'accès de son argument d'entrée ne pouvait pas être ouvert. Cela peut être dû à diverses erreurs telles que le fichier qui n'est pas existant dans le chemin spécifié ou être utilisé par un autre programme. La fonction fclose () renvoie «0» si le fichier est fermé avec succès. Un nombre non nul est renvoyé si une erreur se produit.

Dans l'exemple suivant, nous utilisons l'extrait précédent et utilisons ces rendements d'erreur pour vérifier que le fichier est ouvert et fermé avec succès:

#inclure
#inclure
vide main ()

Fichier * f_ptr;
tampon char [250];
f_ptr = fopen ("Documents / LH Exemple.txt "," r ");
if (f_ptr != 0);
printf ("Le fichier a été ouvert avec succès \ n");
Fread (tampon, 120, 1, f_ptr);
printf ("% s", tampon);
if (ferror (f_ptr) == 0)
printf ("Le fichier a été lu avec succès \ n");
if (fclose (f_ptr) == 0);
printf ("Le fichier a été étroit avec succès \ n");

L'image suivante montre les résultats de chacune des étapes qui sont effectuées pour ouvrir, lire et fermer le fichier:

Conclusion

Dans ce Indice de linux Article, nous vous avons montré comment utiliser le Ferror () fonction pour détecter les erreurs de traitement des fichiers. Nous avons examiné la partie théorique de cette fonction et l'avons appliquée dans un exemple pratique pour vous montrer comment détecter une erreur de lecture. Nous avons également expliqué comment vous pouvez détecter les erreurs dans les fonctions complémentaires pour ouvrir et fermer les fichiers à l'aide de fopen () et fclose (). Nous espérons que vous avez trouvé cet article utile. Pour plus d'articles comme celui-ci, utilisez notre moteur de recherche.