2009-04-30 10 views

Répondre

5
#include <string> 
#include <iostream> 
#include <ostream> 

int main() { 
    std::string s; 
    std::cout << "Enter a line: "; 
    std::getline(std::cin, s); 
    std::cout << "You typed this: " << s << std::endl; 
    return 0; 
} 

Exemple exécuter:

 
$ ./a.out 
Enter a line: foo bar 
You typed this: foo bar 
+0

Vous n'avez pas besoin de #include

+0

Je pensais que c'était techniquement nécessaire pour l'opérateur <<, non? –

+0

iostream tire dans la plupart des choses requises :) – OregonGhost

1

Une note importante: après avoir utilisé std :: cin:

cin >> myVar; 

Le saut de ligne n'est pas supprimé . Vous devez utiliser getline deux fois

std::getline(std::cin, myString); 
std::getline(std::cin, myString); 

si vous avez déjà extrait de cin, une fois pour la nouvelle ligne, et une fois pour la chaîne réelle. Il y a d'autres façons de le faire aussi.

+1

Mais remarquez aussi: cin >> ignore les espaces blancs en cours afin qu'ils ne soient pas affectés par le retour à la ligne. –

Questions connexes