Entrer des chaînes en C++: cin >>

L. Sierra Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 Bob -
Salut à tous:

J'ai un gros problème: je veux entrer une chaîne de caractères en C++. Si je rentre par ex. "Bonjour monsieur", et que je lui fais écrire mon texte, il ne me donne que "Bojour". A croire qu'il ne capture pas les espaces lors du cin >> :

main()
{
char test[50]="0";
cin >> test ;
cout << test << endl;
system("PAUSE");
return 0;
}

De plus, je mets par habitude "char nom[50]", mais j'ai essayé de faire des chaines de caractères de seulement 2 ou 3: "char nom[3]", et lorsque je rentre une variable + longue que 3 caractères, il l'accepte quand même... comment ça se fait ?

merci d'avance

Lionel

1 réponse

Bob
 
#include <cstdio>
#include <cstdlib>

int main(int argc, char *argv[])
{
char message[32];
std::scanf("%[A-Z, a-z]", &message);
std::printf("%s\n", message);
std::system("pause");
return EXIT_SUCCESS;
}
0