C++ et manipulation de string

Résolu
tht123 Messages postés 72 Statut Membre -  
pyschopathe Messages postés 2053 Statut Membre -
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!

3 réponses

mype Messages postés 2449 Statut Membre 437
 
le type c'est String je crois avec une majuscule
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Non, ça c'est en java ^^.
0
mype Messages postés 2449 Statut Membre 437 > pyschopathe Messages postés 2053 Statut Membre
 
a ok je croyais que c'était pareil...
ben je c'est pas ;)
0
pyschopathe Messages postés 2053 Statut Membre 135
 
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.
0
tht123 Messages postés 72 Statut Membre
 
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");

}
0
pyschopathe Messages postés 2053 Statut Membre 135
 
Parfait, mets le statut en résolu stp.
0