首先考虑这个示例 C++ 代码:
std::string input1, input2, input3;
std::cout << "Enter Input 1: ";
std::cin >> input1;
std::cout << std::endl << "Enter Input 2: ";
std::cin >> input2;
std::cout << std::endl << "Enter Input 3: ";
std::cin >> input3;
如果我在输入 1 中输入类似“Good day neighbors”的内容,则 input1 设置为“Good”,input2 设置为“day”,输入 3 设置为“neighbors”。我什至没有机会为 input2 和 input3 设置值。
所以我的问题是:如何将包含空格的文本字符串输入到单个字符串中,而不会将其(由于缺乏更好的术语)分解并溢出到对输入流的后续调用中?
提前感谢收到的所有答复。
最佳答案
你可以使用std::getline
:
std::getline(std::cin, input1);
...
std::getline(std::cin, input2);
...
std::getline(std::cin, input3);
关于c++ - 使空间与 C++ 输入流完美配合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4027428/