Comment lire les entrées d'un fichier en c

Comment lire les entrées d'un fichier en c
Les informations seront perdues une fois un programme terminé. Lorsque nous enregistrons les données dans un fichier, il sera conservé bien que le programme se bloque. Si nous insérons beaucoup de données, cela nécessiterait plus de temps pour faire. Mais, si nous avons un fichier qui comprend tout le contenu, nous le récupérerions rapidement en utilisant certaines fonctions C. Nous transférerons directement le fichier d'un périphérique à l'autre sans modifications.

Il existe deux types de fichiers: le texte et le binaire. Les fichiers texte sont ceux qui ont l'extension .SMS. Ces fichiers sont simples à faire. Lorsque nous accéderons à ces fichiers, nous obtiendrons un texte clair pour toutes les informations. Les données peuvent être simplement modifiées ou supprimées. L'extension .Bin désigne un fichier binaire. Plutôt que de conserver des informations en texte clair, ils le font en nombre binaire (0 et 1).

Discutons en détail des différentes approches sur la façon de lire le contenu d'un fichier.

Utilisation de la fonction fseek () pour lire l'entrée du fichier

Si nous avons un grand nombre d'entrées dans un fichier et que nous voulons les récupérer un par un à une position particulière, alors nous devons itéré à travers chaque élément avant cela. Il consommerait une quantité importante de mémoire et de temps de traitement. Grâce à la fonction fseek (), nous pouvons obtenir les informations nécessaires plus efficacement.

#inclure
#inclure
strumber de structure

int num1, num2, num3;
;
int main()

int n;
Numéro de structure de structure;
Fichier * fptr;
if ((fptr = fopen ("file_1.txt "," r ")) == null)
printf ("Fichier ne peut pas ouvrir");
sortie (1);

fseek (fptr, -sizeof (struct thrnumber), Seek_end);
pour (n = 1; n < 5; ++n)

Fread (et nombre, sizeof (struct thrnumber), 1, fptr);
printf ("n1:% d \ tn2:% d \ tn3:% d \ n", numéro.num1, numéro.num2, numéro.num3);
fseek (fptr, -2 * sizeof (struct thrnumber), Seek_cur);

fclose (fptr);
retour 0;

Ici, nous allons démarrer le programme en intégrant les fichiers d'en-tête obligatoires #include et #include . Maintenant, nous créons une fonction, puis trois variables différentes sont initialisées. Ces variables ont un type de données entier. Après cela, nous déclarons la fonction principale () et commençons le codage dans le corps de la fonction principale ().

En plus de cela, nous construisons un pointeur de fichiers. Une instruction «si» est alors appliquée. Ici, nous définissons le pointeur de fichier égal à la fonction fopen (). La fonction fopen () est utilisée pour ouvrir le fichier spécifié. À l'aide de l'instruction IF, nous vérifions si le chemin donné du fichier est égal à l'instruction «null» printf imprime le texte «Le fichier ne peut pas ouvrir». Sinon, le programme sort.

Une autre méthode fseek () est utilisée. Il contient trois paramètres. Le premier argument contient le pointeur de fichier. Le deuxième argument montre l'emplacement du fichier donné. De même, le dernier argument indique le point d'où commence l'écart. En plus de cela, nous demandons une boucle. Nous déclarons la variable et définissons la condition pour le nombre, puis enfin, nous faisons une augmentation de la valeur d'un nombre.

Pour obtenir le texte du fichier spécifié, nous utilisons la fonction Fread (). Nous devons maintenant imprimer le résultat afin que la fonction printf () soit utilisée. Encore une fois, nous appliquons la fonction fseek (). À la fin pour fermer le fichier donné, nous avons utilisé la fonction fclose ().

Utilisation de la fonction fGetc () pour lire l'entrée d'un fichier

La fonction fGetc () récupère les caractères mentionnés par l'indicateur de fonction. Il fournit le mot reçu par le flux et ajuste le point de lecture vers le mot suivant après chaque lecture valide. Mais si aucune donnée n'est présente à lire, cette méthode calcule une variable EOF (-1).

#inclure
#inclure
#inclure
int main()

Fichier * fptr;
Char Chr;
fptr = fopen ("Données.txt "," r ");
if (null == fptr)
printf ("Le fichier ne peut pas ouvrir \ n");

printf ("Les données du fichier sont \ n Nom: Amna \ n Age: 24 \ n Nom: Sara \ n Age: 16 \ n Nom: aneela \ n Age: 30 \ n");
faire
chr = fgetc (fptr);
printf ("% c", chr);
while (chr != Eof);
fclose (fptr);
retour 0;

Tout d'abord, nous incluons trois fichiers d'en-tête. La bibliothèque standard est l'identifiant du fichier d'en-tête . Il contient des données sur la disponibilité du stockage et les méthodes gratuites. Entrée standard-sortie est l'identifiant du fichier d'en-tête . Il contient des données sur les méthodes d'entrée / sortie. Le fichier d'en-tête comprend des déclarations de macro, des variables et des définitions des méthodes et des classes qui sont utilisées non seulement pour le traitement du texte mais aussi pour différentes fonctions de traitement du stockage.

À l'étape suivante, nous initialisons la fonction principale (). Ici, un pointeur d'un fichier spécifié est construit et nous déclarons une variable ayant un type de données de caractère. Ensuite, nous utilisons la fonction fopen (). Cette méthode contient deux arguments: le premier paramètre affiche le nom du fichier et le deuxième paramètre affiche le mode du fichier. Ici, la méthode fopen () ouvre le fichier défini dans le mode de lecture. Nous avons utilisé l'instruction IF pour vérifier si le pointeur du fichier est égal à «null» ou non. Si le pointeur de fichier est égal à «null», alors le programme spécifié se termine. Sinon, nous utilisons la fonction printf () pour imprimer le contenu du fichier.

En plus de cela, par l'utilisation d'une boucle de bricolage, nous passons par chaque personnage un par un. Ici, nous déclarons la fonction fGetc () pour récupérer les données du fichier défini. Maintenant, nous appliquons la boucle while pour examiner si le caractère donné ne serait pas à la fin de la ligne; Si c'était le cas, arrêtez de lire. La méthode fclose () est utilisée et cela met le fichier.

Tout en utilisant la fonction fGetc (), le code mentionné ci-dessus lit les données entières du fichier, un seul caractère à la fois. Une boucle à faire à faire serait utilisée pour récupérer des caractères à moins qu'ils ne arrivent à la fin du fichier. Il produit l'EOF (-1) char à chaque fois qu'il atteint la conclusion.

Conclusion

Dans cet article, nous avons traversé différentes manières utilisées pour lire les données du fichier. Ici, nous avons appliqué des méthodes FGetC (), Fread () et Fseek () pour obtenir du contenu à l'aide d'exemples particuliers. Tous sont des fonctions prédéfinies de la langue C. Pour lire chaque mot d'un fichier, nous avons utilisé la méthode FGETC (). De même pour extraire les données configurées dans un fichier, nous avons utilisé la méthode fseek ().