提问人:SanguineL 提问时间:9/23/2023 最后编辑:SanguineL 更新时间:9/23/2023 访问量:42
cin.ignore.get() 导致我的程序卡在输入上
cin.ignore.get() causing my program to stuck on input
问:
我的教授指示我在我的程序中使用下面的代码块。
void enter_to_continue() {
cout << "Press enter to continue...";
cin.ignore().get();
}
但是,此代码块无法按预期工作。无论我按多少次,程序都不会继续。这是实现它的正确方法吗?(另外,虽然这似乎是一个简单的问题,但到目前为止,我还没有找到任何其他答案。Return
在 Ubuntu 上使用 g++ 11.4.0 编译。
答: 暂无答案
评论
cin.ignore().get();
是我不相信我以前见过的东西。它必须有一个字符,然后是另一个字符。假设流从空开始,则至少按两次退出。只要输入就会被忽略吃掉,让程序阻止。ignore
get
get
get
cin.ignore(numeric_limits<streamsize>::max(), '\n')
std::cin
std::getline(std::cin, s)
s
s
s