所以我一直试图让我的C ++程序“按下继续”,我收集的是每个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()的其他组合几乎有同样的问题我尝试过 - 它每次都不会做同样的事情。有时它会等待两次输入,有时一次也可以。有谁知道发生了什么事?
答案 0 :(得分:1)
Streams只是这里工作的错误工具。 C ++标准没有可移植的方式来控制控制台。 Streams是一种抽象,允许读/写字符序列,而不是交互式UI。
为了可靠地获得您想要的行为,您需要使用第三方库(如curses),或直接与目标平台的控制台API对话。