Date création : 26-10-2007 00:00:00 Date de la dernière modification : 12-01-2008 15:56:51
 Vous êtes dans : Langage C Astuces / Exercices
Ennoncé
Compter le nombre de lignes d'un fichier
Solution
#include <stdio.h>
int main()
{
FILE *fic;
unsigned int nb_ligne = 0;
int c;
if((fic = fopen("/home/lami20j/trash/fichier.txt","r"))
== NULL)
return -1;
while((c = fgetc(fic)) != EOF){
if(c == '\n')
++nb_ligne;
}
fclose(fic);
printf("%d lignes\n",nb_ligne);
return 0;
}
|
Explication
Pour compter le nombre de lignes d'un fichier il faut compter le nombre de caractères de fin de ligne.
Sous GNU/Linux le caractère de fin de ligne est \n.
En 1er temps nous ouvrons le fichier en lecture seule.
La variable compteur nb_ligne est initialisé avec la valeur zéro.
La boucle while((c = fgetc(fic)) != EOF) lit les caractères du fichier un par un, jusqu'à la fin du fichier (EOF - End Of File).
Pour lire les caractères nous utilisons la fonction fgetc.
Le caractère lu par fgetc nous le stockons dans la variable c.
Le caractère rencontré par fgetc est comparé à '\n'.
S'il est égal avec le caractère de fin de ligne '\n' alors la variable nb_ligne est incrementé d'une unité.
A la fin de la boucle (quand nous sommes arrivé à la fin de fichier), la variable nb_ligne contiendra le nombre de lignes du fichier.
|