C Lire Un Fichier Texte Ligne Par Ligne
Dans cet article, nous allons apprendre à lire un fichier texte ligne par ligne en C. Nous allons utiliser la fonction fgets()
qui lit une ligne d’un fichier texte et la stocke dans une chaîne de caractères.
Ouvrir un fichier texte
Avant de pouvoir lire un fichier texte, nous devons l’ouvrir. Pour ce faire, nous utilisons la fonction fopen()
. Cette fonction prend deux arguments : le nom du fichier et le mode d’ouverture. Le mode d’ouverture indique comment le fichier doit être ouvert. Dans notre cas, nous voulons ouvrir le fichier en mode lecture, nous utilisons donc le mode "r"
.
Lire une ligne d'un fichier texte
Une fois que le fichier est ouvert, nous pouvons utiliser la fonction fgets()
pour lire une ligne du fichier. Cette fonction prend deux arguments : la chaîne de caractères dans laquelle la ligne doit être stockée et la taille maximale de la ligne. La taille maximale de la ligne est le nombre maximum de caractères qui peuvent être lus dans une ligne.
Boucler sur les lignes d'un fichier texte
Pour lire toutes les lignes d’un fichier texte, nous pouvons utiliser une boucle while
. La boucle while
s’exécute tant qu’une condition est vraie. Dans notre cas, la condition est que la fonction fgets()
renvoie une valeur non nulle. La fonction fgets()
renvoie une valeur nulle lorsque la fin du fichier est atteinte.
Fermer un fichier texte
Une fois que nous avons fini de lire le fichier texte, nous devons le fermer. Pour ce faire, nous utilisons la fonction fclose()
. Cette fonction prend un argument : le pointeur de fichier qui a été renvoyé par la fonction fopen()
.
Problèmes courants
Voici quelques problèmes courants que vous pouvez rencontrer lorsque vous lisez un fichier texte ligne par ligne en C :
- Le fichier est introuvable.
- Le fichier est inaccessible en écriture.
- La ligne est trop longue pour la chaîne de caractères.
- La fin du fichier est atteinte avant que toutes les lignes aient été lues.
Solutions aux problèmes courants
Voici quelques solutions aux problèmes courants que vous pouvez rencontrer lorsque vous lisez un fichier texte ligne par ligne en C :
- Vérifiez que le fichier existe et qu’il se trouve au bon endroit.
- Vérifiez que le fichier est accessible en écriture.
- Augmentez la taille maximale de la ligne.
- Utilisez une boucle
do-while
pour vous assurer que toutes les lignes ont été lues.
Conclusion
Dans cet article, nous avons appris à lire un fichier texte ligne par ligne en C. Nous avons également vu comment ouvrir un fichier texte, lire une ligne d’un fichier texte, boucler sur les lignes d’un fichier texte et fermer un fichier texte. Nous avons également vu quelques problèmes courants que vous pouvez rencontrer lorsque vous lisez un fichier texte ligne par ligne en C et comment les résoudre.
C Lire Un Fichier Texte Ligne Par Ligne
Fonction fgets()
pour lire les lignes.
- Boucle
while
pour parcourir les lignes. - Fonction
fclose()
pour fermer le fichier.
Ces sont deux points importants à retenir lorsque vous lisez un fichier texte ligne par ligne en C.
Boucle while pour parcourir les lignes.
Une fois que nous avons ouvert un fichier texte, nous pouvons utiliser une boucle while
pour parcourir les lignes du fichier. La boucle while
s’exécute tant qu’une condition est vraie. Dans notre cas, la condition est que la fonction fgets()
renvoie une valeur non nulle. La fonction fgets()
renvoie une valeur nulle lorsque la fin du fichier est atteinte.
-
Syntaxe de la boucle
while
La syntaxe de la boucle
while
est la suivante :
while (condition) {
// instructions
}
La condition est évaluée avant chaque exécution de la boucle. Si la condition est vraie, les instructions à l’intérieur de la boucle sont exécutées. Sinon, la boucle se termine.
Exemple d’utilisation de la boucle while
pour parcourir les lignes d’un fichier texte
Le code suivant montre comment utiliser une boucle while
pour parcourir les lignes d’un fichier texte : #include int main() { // Ouvrir le fichier texte FILE *fichier = fopen("fichier.txt", "r"); // Vérifier si le fichier a été ouvert avec succès if (fichier == NULL) { printf("Erreur lors de l'ouverture du fichier.\n"); return 1; } // Lire les lignes du fichier texte char ligne[1024]; while (fgets(ligne, sizeof(ligne), fichier)) { // Afficher la ligne printf("%s", ligne); } // Fermer le fichier texte fclose(fichier); return 0; }
Ce code ouvre le fichier texte “fichier.txt” en mode lecture. Ensuite, il utilise une boucle while
pour lire les lignes du fichier texte et les afficher sur la console. Enfin, il ferme le fichier texte.
Fonction fclose()
pour fermer le fichier.
Une fois que nous avons fini de lire un fichier texte, nous devons le fermer. Pour ce faire, nous utilisons la fonction fclose()
. Cette fonction prend un argument : le pointeur de fichier qui a été renvoyé par la fonction fopen()
.
Syntaxe de la fonction fclose()
La syntaxe de la fonction fclose()
est la suivante : int fclose(FILE *fichier);
où fichier
est le pointeur de fichier à fermer.
Exemple d’utilisation de la fonction fclose()
Le code suivant montre comment utiliser la fonction fclose()
pour fermer un fichier texte : #include int main() { // Ouvrir le fichier texte FILE *fichier = fopen("fichier.txt", "r"); // Vérifier si le fichier a été ouvert avec succès if (fichier == NULL) { printf("Erreur lors de l'ouverture du fichier.\n"); return 1; } // Lire les lignes du fichier texte char ligne[1024]; while (fgets(ligne, sizeof(ligne), fichier)) { // Afficher la ligne printf("%s", ligne); } // Fermer le fichier texte fclose(fichier); return 0; }
Ce code ouvre le fichier texte “fichier.txt” en mode lecture. Ensuite, il utilise une boucle while
pour lire les lignes du fichier texte et les afficher sur la console. Enfin, il ferme le fichier texte à l’aide de la fonction fclose()
.
Il est important de fermer les fichiers texte après les avoir utilisés. Cela permet de libérer les ressources système qui ont été utilisées par le fichier texte.
No Comment! Be the first one.