Position curseur dans un fichier texte [C++]

MissSixty Messages postés 18 Date d'inscription mardi 10 août 2004 Statut Membre Dernière intervention 25 août 2004 - 12 août 2004 à 21:33
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 22 août 2004 à 02:12
Salut !

Je cherche à comprendre le bogue dans un programme tout simple qui me permet de récupérer la position du curseur (en nombres de lignes) en fin de fichier. Le nombre de lignes retournées par mon code est plutôt bizarre, il est de -9 !?!?! Alors qu'il devrait me retourner 35441 !?!

Est-ce que quelqu'un peut m'aider??? Si vous avez d'autres suggestions, n'hésitez pas!

Pour votre information le fichier toto.txt est composé de 35441 lignes dont chacune comprend 3 nombres décimaux espacés par un tab (la 35441ème ligne du fichier est vide).

Merci =)
_____________________

Voici mon code :

streampos nb_lignes;
ifstream fichier("toto.txt", ios::binary);
fichier.fseekg(0, ios::end);
nb_lignes = fichier.tellg() - sizeof(double);
fichier.close();
cout << "NB_LIGNES = " << nb_lignes << endl;

______________________

23 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 août 2004 à 02:02
djl, comme tant de docs, faut les interpreter.

ciao...
BruNews, Admin CS, MVP Visual C++
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 août 2004 à 02:05
ouai, je crois qu'il faut que je me mette à l'asm
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 août 2004 à 02:12
Bienvenue au club.

ciao...
BruNews, Admin CS, MVP Visual C++
0
Rejoignez-nous