Bonjour
Je vous demanderai d'être indulgent car je suis débutant.
Mon bout de programme est à la fin de ce message. Il ne sert qu'à essayer de me faire comprendre comment tout ça se goupille.
Voici mon problème. J'aimerai connaitre la position du curseur quand je lis, dans un fichier texte, les mots qui constituent ce fichier texte.
J'utilise pour cela tellg(). Lorsque je l'utilise tel qu'il figure dans le programme, la lecture des mots se fait n'importe comment. Je trouve des fins de mot, d'autres sont oubliés, etc... Mais lorsque j'exécute ce même programme sans la ligne où je demande d'écrire la variable "aPositCurseur", la lecture des mots du fichier se fait tout à fait correctement.
Qu'est ce que j'ai bien pu oublier ?
Pouvez vous m'aider ?
j'attends vos réponse avec impatience.
============================================================
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream ancienFichier;
ancienFichier.open("D:/Programmation/Coordonnees_SP2_Automatise.txt");
int aPositCurseur(0); // position du curseur
int compteur(0); // compteur
string mot("mot"); // mot lu
if(ancienFichier)
{
cout << "Ecriture du fichier lu :" << endl;
cout << endl;
while(ancienFichier)
{
compteur++;
aPositCurseur = ancienFichier.tellg();
ancienFichier >> mot;
cout << "Le mot est " << mot << " ";
cout << "La position du curseur est : " << aPositCurseur << " ; " << "A cette endroit le mot est " << mot << endl;
cout << " => C'est le mot num""\x82""ro : " << compteur << " ; " << endl;
cout << endl;
}
}
else
{
cout << "ERREUR: Impossible d'ouvrir un le fichier." << endl;
}
ancienFichier.close(); // ferme le fichier décortiqué
return 0;
}
Ferdinandhttp://lymbe.free.fr/index.htm