heffer a écrit :
Mais fallait le dire plus tôt! Donc est-ce que ça vous plaît mieux comme ça:
Code :
- string saisie_message()
- {
- string message, ligne;
- cout<<"Message: (terminer par une ligne avec un point)"<<endl;
- while(1)
- {
- getline(cin,ligne);
- if(ligne!="." )
- message+=ligne+"\n";
- else break;
- }
- return message;
- }
|
|
ne fonctionne pas. Si tu rentre "blabla.", alors la comparaison de chaine ne fonctionne pas. Il faut faire une recherche dans la chaine.
- soit tu utilises les fonctions de recherche dans les std::string (find_first_of, notamment) pour chercher le caractère voulu. Attention alors de ne concaténer que la sous partie voulue si le caracère '.' est trouvé.
- soit tu utilises directement cin.get(). Dans ce cas, tu lis les caractères 1 par 1, auquel cas le test est plus facile.
Message édité par SoWhatIn22 le 10-11-2003 à 18:55:45