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 7
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
Rejoignez-nous