C++ et manipulation de string

Résolu/Fermé
tht123 Messages postés 72 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 10 janvier 2009 - 7 nov. 2008 à 15:49
pyschopathe Messages postés 1963 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 7 nov. 2008 à 22:18
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 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 432
7 nov. 2008 à 15:51
le type c'est String je crois avec une majuscule
0
pyschopathe Messages postés 1963 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 137
7 nov. 2008 à 15:54
Non, ça c'est en java ^^.
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 432 > pyschopathe Messages postés 1963 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010
7 nov. 2008 à 15:55
a ok je croyais que c'était pareil...
ben je c'est pas ;)
0
pyschopathe Messages postés 1963 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 137
7 nov. 2008 à 15:55
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 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 10 janvier 2009
7 nov. 2008 à 20:22
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 1963 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 137
7 nov. 2008 à 22:18
Parfait, mets le statut en résolu stp.
0