因此,我一直在尝试让我的C++程序“按enter键继续”,我认为这是每个C++程序员在成年之前都必须经历的一个令人焦虑的阶段。在胡乱摆弄之后,我相信了一些随机的建议,并使用了:
while(userWins<2)
{
roundResult = playRound();
if(roundResult>0)
{
userWins++;
cout << "Du vann! Det står nu " << userWins << "-" << cpuWins << "." << endl ;
cin.get();
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
}
}它与我尝试过的所有其他cin.get()和cin.ignore()组合都有几乎相同的问题--它并不是每次都做同样的事情。有时它会等待两次回车,有时一次就可以了。有人知道是怎么回事吗?
发布于 2013-07-12 03:54:18
在这里,Streams根本不是一个合适的工具。C++标准没有一种可移植的方式来控制控制台。流是一种抽象,允许读/写字符序列,而不是用于交互式UI。
为了可靠地获得您想要的行为,您需要使用像curses这样的第三方库,或者直接与目标平台的控制台API对话。
https://stackoverflow.com/questions/17601580
复制相似问题