[英]C++: Do I need to use cin.get() before I use cin.ignore?
如果我仅在流中使用标准cin cin.ignore(100,'\\n')
是否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');
}
还是这些代码会产生相同的结果?
啊,愚蠢的我,我做了一个函数来调用清除
void clear()
{
cin.clear();
cin.ignore(100,'\n');
}
在我的程序中,它多次调用了函数clear()
。 如果在没有cin的输入的情况下连续两次调用clear()
,则提示输入空白行。
我猜这是造成它的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.