Comment lire un fichier texte en C

Comment lire un fichier texte en C
Fichiers texte sont parmi les types de fichiers les plus utilisés sur les ordinateurs. Ils peuvent être utilisés pour une grande variété de tâches, telles que le stockage des documents texte ou des codes source de programme. Ils sont enregistrés dans le système avec .SMS extension. En travaillant sur Code C, vous devrez peut-être lire un fichier texte dans le cadre de votre projet ou obtenir l'aide du fichier texte. Au lieu de retourner à l'emplacement pour lire un fichier texte, il est préférable de le lire dans un code.

Cet article traite des moyens utiles de lire un fichier texte dans le langage de programmation C.

Lire un fichier texte en C

Il existe quatre méthodes pour lire un fichier texte en C, qui sont.

  • fscanf () pour lire un fichier texte
  • fgets () pour lire un fichier texte
  • fGetc () pour lire un fichier texte
  • fread () pour lire un fichier texte

Méthode 1: Utilisation de la fonction fscanf () pour lire un fichier texte en c

Le fscanf () La fonction est une fonction de bibliothèque standard qui prend un tableau d'arguments et les convertit en valeurs qui peuvent être utilisées par votre programme. Il trouve une chaîne de format dans le fichier et renvoie une chaîne de format lors de la lecture du fichier. La chaîne de format doit être enfermée dans des devis («») afin qu'ils ne soient pas interprétés par votre programme comme faisant partie de sa propre syntaxe.

Le fscanf () La fonction lit les données sur les lieux fournis par les éléments de la liste d'arguments. Les entrées de liste d'arguments doivent toutes pointer des variables dont les types correspondent aux spécificateurs de type dans la corde de format.

Il donne soit EOF (fin du fichier) ou le nombre de variables avec des valeurs qui leur sont attribuées.

Regardons un exemple pour lire un fichier texte en utilisant le fscanf () fonction:

#inclure
int main()

Fichier * ptr = fopen ("file_name.txt "," r ");
if (ptr == null)
printf ("Aucun fichier de ce type n'existe.");
retour 0;

char buf [100];
tandis que (fscanf (ptr, "% s", buf) == 1)
printf ("% s \ n", buf);
retour 0;

Dans ce code, fopen () La fonction est utilisée pour ouvrir le fichier sous la variable du pointeur PTR. fscanf () La fonction est ensuite utilisée pour lire le fichier puis imprimer son contenu.

Sortir

Méthode 2: Utilisation de la fonction fread () pour lire un fichier texte en C

Les données du fichier sont lues par le Fread () Méthode et stocké dans un tampon. Les éléments jusqu'à compter sont lus dans un tampon de tableau par le fread () fonction du flux d'entrée, qui est fourni comme argument de fonction.

Lorsque le nombre total d'éléments est lu avec succès, un objet size_t est renvoyé. Si cette valeur est différente de la valeur spécifiée par le programme, soit une erreur s'est produite ou la fin du fichier a été atteinte.

#inclure
int main ()

tampon char [33];
Fichier * stream;
Stream = fopen ("File_name.txt "," r ");
int count = fread (& tampon, sizeof (char), 33, stream);
fclose (stream);
printf ("Données lues dans le fichier:% s \ n", tampon);
printf ("Nombre d'éléments lus:% d", count);
retour 0;

Dans ce code, le fopen () La fonction est utilisée pour ouvrir le fichier puis le fread () La fonction est ensuite utilisée pour lire le fichier puis imprimer son contenu. 33 montre le nombre de caractères qu'il lira dans le fichier.

Sortir

Méthode 3: Utilisation de la fonction fgets () pour lire un fichier texte en c

Avec le fgets () Fonction, une ligne est lue à partir du flux spécifié et stocké dans la variable de chaîne correspondante. Lorsque (n-1) les caractères, le caractère Newline ou la fin du fichier sont lus, ou selon la première éventualité, le programme se termine.Si la fonction réussit, la même chaîne est renvoyée. Le contenu de la chaîne est conservé en place et un pointeur nul se produit si la fonction frappe la fin de fichier sans caractères.

En cas d'échec, il fournit un pointeur nul.

#inclure
int main ()
Fichier * fp;
Char Str [60];
fp = fopen ("fichier.txt "," r ");
if (fp == null)
perror ("erreur dans le fichier d'ouverture");
return (-1);

if (fgets (str, 100, fp)!= Null)
put (str);

fclose (FP);
return (0);

Dans ce code, déposer.SMS le fichier est ouvert par fopen () fonction et puis fgets () La fonction est ensuite utilisée pour lire les chaînes dans le fichier puis les imprimer. 100 montre le nombre de chaînes qu'il lira.

Sortir

Méthode 4: Utilisation de la fonction fgetc () pour lire un fichier texte en c

Le fgtec () La fonction est utilisée pour lire les caractères un par un. La fonction renvoie ensuite le code ASCII du caractère qu'il a lu. Il renvoie le caractère qui était présent à la place indiquée du pointeur de fichier. Le pointeur de fichier passe ensuite au caractère suivant. S'il y a une erreur ou si le pointeur atteint la fin du fichier, cette fonction renvoie un EOF (fin de fichier).

#inclure
int main ()

Fichier * fp = fopen ("fichier.txt "," r ");
if (fp == null)
retour 0;
faire
char c = fGetc (fp);
if (feof (fp))
casser ;
printf ("% c", c);
while (1);
fclose (FP);
return (0);

Le "déposer.SMS»Le fichier est ouvert par le fopen () Fonction dans ce code sous la variable de pointeur FP. Les caractères du fichier sont ensuite lus à l'aide du fGetc () Méthode, qui imprime les caractères lus.

Sortir

Conclusion

La lecture de fichiers est une nécessité pour chaque utilisateur d'ordinateur, et en particulier pour un développeur, il est important qu'il puisse accéder aux fichiers en utilisant son code. Par conséquent, 4 méthodes sont mentionnées ci-dessus dans l'article pour lire un fichier texte Utilisation du langage C. fscanf () et fread () sont utilisés pour lire les fichiers de la même manière, à l'exception que fread () nous permet de spécifier le nombre de caractères que l'utilisateur souhaite lire, tandis que fgets () est utilisé pour lire un fichier ligne par ligne, et fGetc () est utilisé pour lire un fichier caractère par caractère.