J'ai le code suivant

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();
 
}
Je lis un fichier contenant les mots "CECI EST UN TEST".
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