Lecture d'un fichier ligne par ligne

Signaler
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004
-
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004
-
salut à tous,
j'ai un problème: j'ai un fichier texte contenant quatre lignes.
moi je veux lire ces quatre lignes et les stocker chacun dans une variable pour un traitement ultèrieur.
je ne sais quoi faire: si je sais que je dois passer par fgets(), mais quand je l'utilise je ne peux lire que la première ligne, pas plus, je sais aussi qu'il ft utiliser une boucle wile(!eof(*file)) mais je ne sais pas comment faire

merci

9 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
char sBuffer[256];

while (!feof(file)) {
fgets(sBuffer, 256, file);
printf("%s", sBuffer);
}

voila !

++

Alhexman
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

merci,
mais comment faire pour stocker chaque ligne dans une variable
ligne1 dans char val1
ligne2 dans char val2
....
et ainsi de suite

merci
Messages postés
28
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
14 septembre 2004

là, tu n'as qu'à utiliser un tableau de chaine de caratères ou string avec un compteur "int X" que tu incrémente à chaque lecture après avoir recopier ton buffer dans ton TAB[X].

9Sber
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

oui mais je ne suis pas trés calé en c
veux tu me faire un exemple stp?
MERCI
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

J'ai essayé ça

for (i=1; i<4;i++)
{
while(!feof(fichier))
{
fgets(codeov,3,fichier);
strcpy(val"itoa(i)",codeov);
printf("%s", codeov);
}
fclose(fichier);
}


mais il ya un problème dans le strcpy!!!
voilà enfin écris moi un truc qui marche merci
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
strcpy(val"itoa(i)",codeov); c koi ca ???

char tab[4][256];

for (i = 0; !feof(file); ++i) {
fgets(tab[i], 256, file);
}

voila ++

Alhexman
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

tu m'as répondus une demi réponse,

comment stocker les quatres lignes DE LA TABLE dans les quatres variables de types caractères?

MERCI
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
les lignes seront stocké ds un tab a 2dimensions ; tab[0], tab[1], tab[2], tab[3]. Donc tes lignes sont bien stocké ds des variables !!
Messages postés
107
Date d'inscription
mardi 2 mars 2004
Statut
Membre
Dernière intervention
5 juillet 2004

excuse merci merci
a+