Problème d'affichage avec "cout"
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:
Code:
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;
} |
Et là, au lieu de m'afficher "9" dans la console ( il y a neuf mot dans mon fichier ) ça m'affiche "4661617" 8O
Par contre, si je modifie ma boucle while et que je rajoute un " cout << n << endl;" :
Code:
1 2 3 4 5 6
|
while (fMots >> ligne)
{
n+=1;
cout << n << endl;
} |
Là ça marche... :roll:
Bon le truc, c'est que je voudrais comprendre pourquoi...
Merci pour votre aide :ccool: