我希望从C ++中读取当前位置的cin,直到将换行符转换为字符串。要读取的字符可以包括空格。我的第一次通过失败,因为它在第一个空格处停止:
string result;
cin >> result;
如果给出了cin:
(cd /my/dir; doSometing)\n
变量结果只有:
(cd
我认为我应该能够使用流操纵器来实现这一点,但是skipws不是很正确,因为它会使用空格和制表符抛出回车符,而且听起来就像跳过前导空格一样。
也许我需要使用像这样的streambuf?
streambuf buf;
cin >> buf;
答案 0 :(得分:21)
std::string str;
std::getline( std::cin, str);