Afficher ligne par ligne le contenue fichier

0x0syscall Messages postés 94 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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,
Configuration: Windows XP
Firefox 3.0.5
A voir également:

9 réponses

0x0syscall Messages postés 94 Statut Membre 5
 
Oublier de préciser le langage serais en C =)
0
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,
N'oublie pas de préciser le langage de programmation sinon on ne peut pas t'aider ;)
0
0x0syscall Messages postés 94 Statut Membre 5
 
Vous l'avez pas en C ?
0
0x0syscall Messages postés 94 Statut Membre 5
 
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 260 Statut Membre 26
 
FILE *fichier;
fichier = fopen("toto.txt", "r" );

avec sa tu dois pouvoir lire le contenue de ton .txt.
0
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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 94 Statut Membre 5
 
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 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > 0x0syscall Messages postés 94 Statut Membre
 
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 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > 0x0syscall Messages postés 94 Statut Membre
 
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 66 Statut Membre 1
 
tu peus affecter la ligne dans une variable String et puis la traiter
0
samsouma04 Messages postés 66 Statut Membre 1
 
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 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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 66 Statut Membre 1
 
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 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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