有什么好的理由可以解释:
std::string input;
std::getline(std::cin, input);
Run Code Online (Sandbox Code Playgroud)
getline调用不会等待用户输入?cin的状态是否以某种方式搞砸了?
很可能你在读完一些其他数据后试图读取一个字符串,比如说int.
考虑输入:
11
is a prime
Run Code Online (Sandbox Code Playgroud)
如果您使用以下代码:
std::cin>>number;
std::getline(std::cin,input)
Run Code Online (Sandbox Code Playgroud)
在getline将只读取换行符11后,因此你会得到的印象是,它不是等待用户输入.
解决此问题的方法是使用虚拟对象getline来消耗数字后面的新行.
| 归档时间: |
|
| 查看次数: |
2695 次 |
| 最近记录: |