J'ai le code suivant
Je lis un fichier contenant les mots "CECI EST UN TEST".
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
33
34
35
36
37
38
39 oid Fichier::LireFichier() { string s; int num; char a; ifstream lecture; s=""; num=1; lecture.open(nomFichier,ios::in); lecture.get(a); while(!lecture.eof()){ s=""; while(a != ' '){ if(isalnum(a) != 0 || a=='_' || a=='-') { cout << a << endl; s+=a; lecture.get(a); } else { lecture.get(a); } } if(a=='\n') { num++; cout <<"TOTO"; } lecture.get(a); } lecture.close(); }
Il affiche
C
E
C
I
E
S
T
U
N
T
E
S
T
T
T
...
Et il boucle à l'infini sur le T.
Il semblerait donc qu'il ne trouve pas le EOF.
En cherchant sur google, j'ai trouvé plusieurs topic concernant le même problème (certains parlent de comportement imprévésible de EOF), mais pas de solution.
Peut être pourrez vous m'aider.
Merci
MiKL
Partager