Bonjour,
J'ai un petit problème pour parser un fichier.
Je crée une classe Parseur, dans laquelle je met un flux (ifstream), un constructeur, et des petites fonctions qui me permettent de faire ce que je veux.
Lorsque j'instancie cette classe dans mon programme, je n'arrive plus à avoir le eof (ce qui est embêtant, la lecture s'arrête plus...)
Voilà des petits bouts de code :
Donc, ça continue à m'afficher sans fin la dernière ligne, comme si il bouclait dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 //Parseur.h ... class Parseur { public : std::ifstream flux; Parseur (const char * nom); ... }; //Parseur.cpp ... Parseur::Parseur(const char * nom){ flux.open(nom, ios::in); } ... //PragrammePrincipal.cpp ... int main(){ Parseur parseur1 = Parseur("bidule.truc"); string ligne; while (getline(parseur1.flux,ligne)) { cout << ligne << '\n'; getline(parseur1.flux,ligne); while (ligne != "finbloc") { cout << ligne << '\n'; ... } ....
Quand je met tout dans le même fichier, sans classe, là j'ai bien la fin du fichier qui est reconnue...
A votre avis, d'où peut venir le problème?
Partager