如何读取带有空格的cin直到换行符?

时间:2009-10-18 01:00:50

标签: c++ string cin

我希望从C ++中读取当前位置的cin,直到将换行符转换为字符串。要读取的字符可以包括空格。我的第一次通过失败,因为它在第一个空格处停止:

string result;

cin >> result;

如果给出了cin:

(cd /my/dir; doSometing)\n

变量结果只有:

(cd

我认为我应该能够使用流操纵器来实现这一点,但是skipws不是很正确,因为它会使用空格和制表符抛出回车符,而且听起来就像跳过前导空格一样。

也许我需要使用像这样的streambuf?

streambuf buf;

cin >> buf;

1 个答案:

答案 0 :(得分:21)

std::string str; 
std::getline( std::cin, str);