Pb cin >> string HELP c urgent...

Pb cin >> string HELP c urgent... - C++ - Programmation

Marsh Posté le 08-04-2003 à 22:54:46    

Je souhaiterais récupérer les phrases que je tape au clavier et les mettres dans une variable string.
 
Le pb avec "cin>>ma_string" c'est que ca récupère que le 1er mot... Comment dois-je m'y prendre?
 
Attention: il me faut absolument un string et non pas un char* car après j'utilise des fcts propres aux strings (assign, insert, size()...)
 
Une solution consiste à utiliser:
getline(cin, ma_string);
 
Mais le pb c'est que après avoir tapé ma phrase, je dois faire 2 fois "entrée" avant que le programme reparte...
C'est peut etre un détail mais là ca me va pas du tout :/
 
Merci

Reply

Marsh Posté le 08-04-2003 à 22:54:46   

Reply

Marsh Posté le 08-04-2003 à 23:11:22    

y a un problème dans ton programme. un seul '\n' (envoyer par entrée) suffit


Message édité par Taz le 08-04-2003 à 23:11:28
Reply

Marsh Posté le 08-04-2003 à 23:24:04    

++Taz a écrit :

y a un problème dans ton programme. un seul '\n' (envoyer par entrée) suffit


 
Voilà ce que ca fait à l'affichage:
 
"Indiquez la phrase a anal
ca va?
 
ca va?
Press any key to continue"
 
Et voici le code responsable:
 
int main()
{
 string input;
 cout << "Indiquez la phrase a analyser :)\n";
 getline(cin, input);
 cout << input << endl;
 return 0;
}
 
Donc je comprends pas pkoi je dois appuyer 2 fois sur la touche entrée du clavier après avoir tapé ma phrase pour voir s'afficher celle-ci...

Reply

Marsh Posté le 08-04-2003 à 23:34:30    

pourquoi le 1er cout tu as un \n et pas un endl ???

Reply

Marsh Posté le 08-04-2003 à 23:35:13    

Et puis tu peux toujours au pire utiliser un char*, y'a des fonctions pour les transformer en String dans std:: je crois.


Message édité par ToxicAvenger le 08-04-2003 à 23:35:25
Reply

Marsh Posté le 09-04-2003 à 00:08:38    

bon, si tu es sous Visual C++, c'est un bug connu de MS:
http://support.microsoft.com/defau [...] us;240015&
 
Faut modifier le header de <string> dans C:\Program Files\Microsoft Visual Studio\VC98\Include\string
 
Si tu es sous Borland C++ 5.5, dl le patch pour passer en 5.51, le bug est fixed.
 

Code :
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(int argc, char* argv[])
  5. {
  6. string input;
  7. cout << "Indiquez la phrase a analyser:" << endl;
  8. cin.clear();
  9. getline(cin, input);
  10. cout << input << endl;
  11. return 0;
  12. }



Message édité par ToxicAvenger le 09-04-2003 à 00:12:59
Reply

Marsh Posté le 09-04-2003 à 00:22:27    

Merci Infiniment  :jap:  :jap:  
J'étais sous Visual C++
 
Viens chez moi, on va  [:peewai]  [:peewai] un bon coup pr fêter ça.

Reply

Marsh Posté le 09-04-2003 à 00:45:27    

Lancelot** a écrit :

Merci Infiniment  :jap:  :jap:  
J'étais sous Visual C++
 
Viens chez moi, on va  [:peewai]  [:peewai] un bon coup pr fêter ça.


 
content de t'avoir aidé, et bon courage pour la suite.
Et pour la binouze la, je mattes south park sur comédie en bouffant des pim's... ca va pas trop avec, quoique...
 
 :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed