C++ et manipulation de string

Résolu
Bonjour,

dans le programme ci dessous, comment faire pour que une variable de type string accepte une phrase avec des espaces comme :

le lundi il fait froid?

le pgm :

#include <iostream>
#include <string>

using namespace std;

int main()
{
string S1="Hello World - tout va bien";
cout << "S1 = " << S1 << endl;
system("pause");

string S2;

cout << "entrer un phrase avec des espaces " << endl;
cin >> S2;

cout << "vous avez entre : " << endl;
cout << "S2 = " << S2 << endl; // ici, on aura que le premier string de la phrase!!! help!
system("pause");

}

merci!
Configuration: Windows Vista
Firefox 2.0.0.17

3 réponses

  1. le type c'est String je crois avec une majuscule
    1. Non, ça c'est en java ^^.
  2. Essaie
    std::cin.getline( nom_chaine, nb_caracteres, caractere_fin )
    Je ne suis plus trop sûr de la syntaxe mais il me semble que c'est quelque chose comme ça.
    1. Merci ta sol marche!

      entre temps, pour les autres, j'ai trouvé une autre alternative :

      #include <iostream>
      #include <string>

      using namespace std;

      int main()
      {
      string S1="Hello World - tout va bien";
      cout << "S1 = " << S1 << endl;
      system("pause");

      string S2;
      char ST[255];

      cout << "entrer un phrase avec des espaces " << endl;
      cin.get(ST,255);

      S2=ST;
      cout << "vous avez entre : " << endl;
      cout << "S2 = " << S2 << endl;
      system("pause");

      }
      1. Parfait, mets le statut en résolu stp.