我有一个小型控制台应用程序需要用户输入,我有以下循环连续询问用户输入,直到他们(a)输入他们的名称并按回车或(b)按下转义键。出于某种原因,当他们按下退出键时,他们必须按回车键,那时只有循环结束,控制台窗口仍然保持打开,我错过了什么?代码如下...C++控制台不按预期方式退出
while (input.empty()) {
cout << "Enter Something";
getline(cin, input);
if (GetAsyncKeyState(VK_ESCAPE))
{
exit(EXIT_SUCCESS); // this should just close the console entirely, right?
}
}
'getline'块等待输入。如果你想异步处理输入,你需要使用不同的方法。 – 2014-09-04 04:40:58
如果我没有弄错'std :: getline()'会在等待输入时阻塞,所以'GetAsynKeyState()'在读取输入时永远不会运行。 – 0x499602D2 2014-09-04 04:41:53