Fonction feof en c

Fonction feof en c
La lecture et l'écriture de fichiers sont sans aucun doute un outil puissant qui nous permet d'avoir ou de stocker tout type d'informations et de créer les bases de données pour l'extraction et le traitement ultérieurs.

Ces données sont extraites des fichiers un par un en boucles qui sont répétées jusqu'à ce que toutes les informations soient extraites et que nous atteignons la fin du fichier

Dans ce Indice de linux, Nous allons vous montrer comment utiliser feof () Pour déterminer si les fonctions de Get Data renvoie EOF. Pour vous aider à utiliser cette fonction en douceur, nous expliquons sa syntaxe, les arguments d'entrée et de sortie et le type de données acceptées par chacun d'eux

Ensuite, nous implémentons cette fonction avec des exemples pratiques en utilisant des images et des extraits de code que nous avons préparés pour vous avec divers fichiers.

Syntaxe de fonction feof () dans le langage C

int feof (fichier * f_ptr);

Feof () Description de la fonction dans le langage C

Le feof () La fonction examine l'adresse qui est indiquée par f_ptr dans le fichier. S'il n'y a pas de données là-bas, il détermine qu'il s'agit de l'EOF ou de la fin du fichier et renvoie «1». Sinon, le résultat est «0». L'EOF n'est pas un caractère d'évasion, mais un résultat qui est renvoyé par certaines fonctions qui récupèrent les données telles que getc ().

Le feof () La fonction est très utile et son résultat est utilisé comme condition dans les boucles de récupération de fichiers pour déterminer la fin de la boucle lorsqu'elle atteint la fin et il n'y a plus de données à récupérer.

Le feof () est l'une des fonctions de la bibliothèque standard C. Avant de pouvoir utiliser cette fonction d'entrée et de sortie et d'autres, vous devez inclure le «STdio.H ”en tête du«.Fichier C ”:

#inclure

Comment extraire les données d'un fichier et utiliser la fonction feof () pour déterminer la sortie de la boucle d'extraction

Dans cet exemple, nous expliquons le processus étape par étape sur la façon de créer une boucle pour extraire les données d'un fichier texte et utiliser le feof () fonction pour déterminer la sortie lorsque les dernières données sont extraites.

La première étape consiste à définir le f_ptr pointeur pour le fichier que nous voulons extraire. Ce pointeur est l'argument d'entrée pour feof () et getc (). Nous définissons également les données c_ de type char qui est la sortie de la fonction getc () dans la boucle d'extraction.

#inclure
#inclure
principal()

Fichier * f_ptr;
char c_;

La deuxième étape consiste à créer ou à utiliser un fichier texte que nous ouvrons pour en extraire les données.

Pour ouvrir le fichier, nous appelons la fonction fopen () et passons le nom et le chemin comme des arguments d'entrée où nous enregistrons le fichier et lisez l'attribut «R» qui est séparé par des virgules. Ici, nous utilisons le «Documents / Linux_Hint Exemple .SMS" déposer.

En tant qu'argument de sortie à fopen (), nous envoyons le f_ptr pointeur que nous avons défini plus tôt:

f_ptr = fopen ("Documents / Linux_Hint Exemple.txt "," r ");

Une fois le fichier ouvert, f_ptr pointe vers vos premières données. Ce pointeur est l'argument d'entrée de feof () et fgetc () à l'étape suivante qui est la boucle de récupération.

Si la taille du fichier n'est pas connue, la boucle de récupération la plus pratique est une boucle de sortie WHIR où la condition de sortie est la fin du fichier, le résultat de feof ().

Ensuite, regardons la boucle d'extraction. Feof () est appelé dans chaque cycle où getc () récupère un caractère du fichier et l'imprime à la ligne de commande avec printf (). Si le résultat qui est annulé avec «!"Est égal à" 0 ", la boucle est sortie.

alors que ( ! feof (f_ptr)

printf ("% c", c_);
c_ = getc (f_ptr);

Avec cette boucle, nous pouvons maintenant extraire et imprimer toutes les données jusqu'à la fin du fichier qui est indiqué par f_ptr.

Dans l'illustration suivante, nous voyons le code complet avec la définition des variables et des pointeurs, l'ouverture du fichier, l'extraction et la sortie des données et la fermeture ultérieure du fichier:

#inclure
#inclure
principal()

Fichier * f_ptr;
char c_;
f_ptr = fopen ("Documents / Linux_Hint Exemple.txt "," r ");
c_ = getc (f_ptr);
alors que ( ! feof (f_ptr))

printf ("% c", c_);
c_ = getc (f_ptr);

fclose (f_ptr);

Dans l'image suivante, nous voyons le fichier texte que nous utilisons pour cet exemple et l'extraction de ses données imprimées dans la console de commande:

Nous pouvons également ajouter un compteur pour obtenir le nombre de caractères extraits. Pour ce faire, nous devons définir l'entier C_Count qui est incrémenté chaque fois que la boucle d'extraction fonctionne et le montre à la fin.

#inclure
#inclure
principal()

Fichier * f_ptr;
char c_;
intc_count = 0;
f_ptr = fopen ("Documents / Linux_Hint Exemple.txt "," r ");
c_ = getc (f_ptr);
alors que ( ! feof (f_ptr))

printf ("% c", c_);
c_ = getc (f_ptr);
c_count ++;

printf ("\ nextracted caractères:% li \ n", c_);
fclose (f_ptr);

Dans la figure suivante, vous pouvez voir le résultat de l'extraction suivi du nombre de caractères extraits:

Conclusion

Dans ce Indice de linux Article, nous avons expliqué comment utiliser feof () Pour déterminer la fin d'un fichier.

Nous avons également démontré l'utilisation pratique de cette fonction en créant une application de console simple qui extrait les données d'un fichier texte et utilise feof () Pour déterminer la fin du fichier et terminer la boucle d'extraction. Nous vous avons également montré comment utiliser les plusieurs fonctions supplémentaires et complémentaires pour ouvrir, fermer et modifier les fichiers dans la langue C. Nous espérons que cet article vous est utile. Pour des articles plus pertinents, Brose via le moteur de recherche de Linux Hint.