c++ - 如何用空格读取 cin 直到换行符?

标签 c++ string cin

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

string result;

cin >> result;

如果给出 cin:

(cd /my/dir; doSometing)\n

变量结果只得到:

(cd

我认为我应该能够使用流操纵器来完成此操作,但 skipws 并不完全正确,因为它会在空格和制表符中抛出回车,而且这听起来像是要跳过前导空格。

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

streambuf buf;

cin >> buf;

最佳答案

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

关于c++ - 如何用空格读取 cin 直到换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1583652/

相关文章:

c++ - 如何通过 bash shell cin a c++ 字符串 >= 1024 个字符?

c++ - 如何检查字符串是否在字符串列表中?

c++ - 是 boost :regex block size limited?

c++ - rapidjson - 使用嵌套字段递归更改键值

iphone - 类型 "[String : String]"的值没有成员 'major'

python - 删除字符串python中的空格和破折号

c++ - 更小的 GCC 包,只需要 C

c++ - 如何控制何时使用 initializer_list。局部变量、返回和传递参数

c - 基于字符将字符串分解为数组的有效方法,例如 C 中的%?

c++ - char 数组的 cin 和 cin.get() 之间的区别