如果我只是通过流使用标准cin,cin.ignore(100,'\n')
是否有效?
示例:
cin >> temp; //enter key input
if(cin.fail())
{
cin.clear();
cin.ignore(100,'\n');
}
还是我必须使用cin.get()?
示例:
temp=cin.get();
if(cin.fail())
{
cin.clear();
cin.ignore(100,'\n');
}
或者这些代码会产生相同的结果吗?
答案 0 :(得分:0)
void clear()
{
cin.clear();
cin.ignore(100,'\n');
}
在我的程序中,它不止一次调用函数clear()
。在没有来自cin的输入的情况下连续两次调用clear()
的情况下,它提示输入一个空行。
我猜这是造成它的原因。