Afficher ligne par ligne le contenue fichier

Fermé
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 - 29 janv. 2009 à 13:48
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 janv. 2009 à 20:04
Bonjour à tous,

Voila, je voudrais savoir comment faire pour lire un fichier avec une boucle qui va lire toutes lignes une par une et les afficher une par une.

avec une incrémentation de ligne pour arriver à la fin du fichier.txt

Cordialement jona,
A voir également:

9 réponses

0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 5
29 janv. 2009 à 13:49
Oublier de préciser le langage serais en C =)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 janv. 2009 à 13:50
Salut,
N'oublie pas de préciser le langage de programmation sinon on ne peut pas t'aider ;)
0
kill4m Messages postés 224 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 28 janvier 2012 26
29 janv. 2009 à 13:51
0
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 5
29 janv. 2009 à 13:56
Vous l'avez pas en C ?
0
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 5
29 janv. 2009 à 14:04
brassard en c avec la lib stdio getline() il connait mais pas fgetline().

une idée ?
0

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

Posez votre question
kill4m Messages postés 224 Date d'inscription jeudi 12 juin 2008 Statut Membre Dernière intervention 28 janvier 2012 26
29 janv. 2009 à 14:11
FILE *fichier;
fichier = fopen("toto.txt", "r" );

avec sa tu dois pouvoir lire le contenue de ton .txt.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 janv. 2009 à 14:14
Attention, getline n'est pas portable. Utilise plutôt fgets ;)
Et pour lire une ligne :
FILE *fp=fopen("toto.txt","r");
char buffer[250];
fgets(buffer,sizeof buffer,fp);

Attention de ne pas oublier de vérifier si les pointeurs ne sont pas NULL ;)
0
0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009 5
29 janv. 2009 à 17:29
Serte mais maintenant si je veux isoler la ligne n°1 la traiter puis passer à la deuxième ainsi de suite jusqu'à la dernière, je procède comment ?
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527 > 0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009
29 janv. 2009 à 17:37
Une fois que tu as lu une bonne pelletée de caractère, tu peux trouver la longueur de chaine qui correspond à ta ligne:
http://www.manpagez.com/man/3/strcspn/
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844 > 0x0syscall Messages postés 85 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 30 juin 2009
29 janv. 2009 à 17:38
Dans l'exemple que je t'ai donné. Tu lis la ligne et tu la stockes dans buffer.
Après, à toi de traiter buffer comme tu veux.
A la deuxième itération (donc lecture du fgets), le buffer contiendra la deuxième ligne. Que tu pourras traiter comme tu veux ;)
0
samsouma04 Messages postés 60 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 17 mai 2009 1
29 janv. 2009 à 17:33
tu peus affecter la ligne dans une variable String et puis la traiter
0
samsouma04 Messages postés 60 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 17 mai 2009 1
29 janv. 2009 à 17:40
FILE* pFile;
CString lig;
char ligne[100];

pFile=fopen("fichier.txt","rb");
fseek(pFile,0,SEEK_END);
while(!feof(pFile))
{

fgets(ligne,100,pFile);
lig=CString(ligne);
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 janv. 2009 à 17:48
Si tu fais : fseek(pFile,0,SEEK_END);
L'indicateur du flux sera en fin de fichier. Donc tes fgets te renverront rien de passionnant ^^.
0
samsouma04 Messages postés 60 Date d'inscription samedi 26 juillet 2008 Statut Membre Dernière intervention 17 mai 2009 1
29 janv. 2009 à 19:50
nn nn ca marche jlai essayé.mais cest pas grave on peut léliminer car moi jlai utilisé pr avoir la taille du fichier
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
29 janv. 2009 à 20:04
T'as mal dû essayer alors ^^.
Car si tu fais fseek(fp,0,SEEK_END) tu ne peux plus rien lire étant donné que le pointeur se trouve en fin.
Pour lire la taille du fichier, oui tu peux utiliser cette astuce pour faire une soustraction. Mais pas pour lire le fichier.
0