Lire dans un fichier texte

cs_hasen
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
- 7 juin 2005 à 18:01
darfeuille
Messages postés
63
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
25 juillet 2005
- 8 juin 2005 à 09:46
Bonjour,

Je suis en plein projet et je dois lire dans un fichier, ce que je fais mais caractère par caractère et c'est pas toujours facil à gérer. Est-il possible de lire directement ligne par ligne?

Merci d'avance.

Hasen

3 réponses

ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
7 juin 2005 à 18:43
avec fgets :
char line[256];
fgets(line, 256, file);
0
cs_hasen
Messages postés
246
Date d'inscription
mercredi 14 avril 2004
Statut
Membre
Dernière intervention
29 décembre 2008
2
7 juin 2005 à 18:54
Merci, je vais voir si ca marche.
0
darfeuille
Messages postés
63
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
25 juillet 2005

8 juin 2005 à 09:46
tu peux aussi faire



string ligne;





getline(fichier, ligne);



il te lit une ligne complete et la met dans ton string (attention, il supprime le \n dans ligne, qui ne le contient donc pas)



Toutefois, si le fichier est gros (plus de 128 MO), il vaut mieux, pour
la rapidité, lire avec un buffer, comme indiqué plus haut. La taille du
buffer depend de l'utilisation, mais pour exemple, un de mes
programmes, pour parser un fichier de 1.5GO, obtient les meilleurs
temps avec un buffer autour de 1500.
0