Pb recuperer nombre de lignes

cs_sergio18 Messages postés 18 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 mai 2004 - 30 mars 2004 à 11:59
petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004 - 30 mars 2004 à 12:56
Bonjour
je fais une classe ou je recupere le contenu d'un fichier texte lignes par lignes. Pour cela,j'utilise la fonction fgets et vu qu'elle ne retourne que la premiere ligne, je fais une boucle.

Fichier::Fichier()
{
FileTexte = fopen (nomfichier,"r");
}

Fichier::Lire()
{
//recuperation de nombre de lignes
do {

c=fgetc(FileTexte);
if (c=='\n') {
nl++;
}
}while(c!=EOF);

for(int i=0;i<nl;i++)
{
fgets(ligne, NBREMAX, FileTexte);

}

Ce code fonctionne dans la classe mais j'ai fait un main où j'appelle la methode Lire et il ne me retourne que la derniere ligne du fichier.

int main()
{
Fichier myfile;
myfile.Lire();
return 0;
}

Voila si vous arrivez à trouver ce qui cloche faites moi signe.

Merci d'avance.

5 réponses

petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004
30 mars 2004 à 12:32
salut,
je pense que s'est a cose de la variable ligne qui doit etre ecrasé a chaque foi pas la nouvelle ligne.
0
cs_sergio18 Messages postés 18 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 mai 2004
30 mars 2004 à 12:46
et comment puis-je y remedier?
0
petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004
30 mars 2004 à 12:48
ben tu peut faire ke la variable ligne soi un double tableau.
et sa depend de l'utilisation,
tu peut apellé une autre fonction des ke ta la ligne de lu ki va l'analysé par exemple c le plus simple.
0
cs_sergio18 Messages postés 18 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 4 mai 2004
30 mars 2004 à 12:53
faut que je recupere chaque ligne et que j'isole le premier mot.
et apres je dois traiter ce mot.et pour etre honnete j'ai pas trop compris ce que t'a voulu dire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004
30 mars 2004 à 12:56
il sufi qu'apré
fgets(ligne, NBREMAX, FileTexte);
tu appelle ta fonction qui prend le premier mots de la variable ligne, et qui va le traiter.
0
Rejoignez-nous