Lire la nième ligne d'un fichier texte

Signaler
Messages postés
59
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
16 mai 2012
-
ndubien
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
-
Bonjour à tous !

J'aurais voulu savoir comment lire la nième ligne d'un fichier texte en C.

Que dois-je utiliser ? fgets? je dois me deplacer avec fseek ?

Merci de m'aider

4 réponses

Messages postés
293
Date d'inscription
jeudi 21 août 2003
Statut
Membre
Dernière intervention
10 avril 2015
2
Ce que tu dois savoir c'est que un retour a la ligne pour un fichier texte est codé par 0x0D 0x0A.
Donc tout ce que tu as a faire c'est creer un compteur qui parcourt le texte et qui s'incremente à chaque fois que ta lecture lit un 0x0D 0x0A

D] Adeon [8D]
Messages postés
542
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Quand on veut coder lisible on dit '\r' et '\n' si j'etais toi je ne compterais que les '\n' car les fichiers
ne sont pas forcement ecrits avec le '\r' et le '\n' mais parfois seulement le second ( sous nunux par exemple.. )

sinon
tu fais
char res[2000];
for(int i = 0 ; i < n ; i++)
   fgets(res,2000,mon_handle);

voila
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
2
Bonjour,

Juste pour information, pour une telle opération je me sert d'une autre technique.

La voici :

int ligne = 9;
char *token;
token = strtok(buffer, "\r\n");
for(i=0 ; i< ligne-1 ; ++i) {
   token = strtok(NULL, "\r\n");
}

<hr />

Merci d'avance et à bientôt.

Nico
Messages postés
557
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
10 mai 2014
2
Oups j'ai oublié de précisé que buffer contenait le fichier(son contenu).

Ciao










Nico