Bonjour, je débute en c++ , et je suis confronté à un curieux problème. je souhaite connaitre le nombre de mots d'un fichier txt. j'ai donc testé le code suivant:
Et là, au lieu de m'afficher "9" dans la console ( il y a neuf mot dans mon fichier ) ça m'affiche "4661617"
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 #include <iostream> #include <fstream> using namespace std; int main() { ifstream fMots("mots.txt"); if(fMots) { cout << "Tout est pret pour la lecture." << endl; } else { cout<< "ERREUR: Impossible d'ouvrir le fichier en lecture." << endl; } int n; string ligne; while (fMots >> ligne) { n+=1; } cout << n << endl; return 0; }
Par contre, si je modifie ma boucle while et que je rajoute un " cout << n << endl;" :
Là ça marche...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 while (fMots >> ligne) { n+=1; cout << n << endl; }
Bon le truc, c'est que je voudrais comprendre pourquoi...
Merci pour votre aide
Partager