close
cin.ignore(streamsize count,int delim) :
第一個參數告訴 ignore 最多要消除掉幾個字元.
第二個參數告訴 ignore 何時停止消除字元的工作(最後被消除掉的字元???).
它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响.
cin.ignore(1024,'\n');
通常把第一个参数设置得足够大,这样实际上总是只有第二个参数'\n'起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲(流)中清除出去。
cin.sync() :清空输入缓冲区的内容.
在输入规定的数目float型数据中错误输入一个string型,然而后提示输入错误,转重新输入,直到输入正确,可以执行下面的程序
复制内容到剪贴板程序代码
int x;
cin>>x;
while(cin.fail())
{
cin.clear();
cin.sync();
cout<<"XXXXX"<<endl;
cin>>x;
}
cin.clear()
如果输入发生错误发生,那么流状态既被标记为错误,你必须清除这些错误状态,以使你的程序能正确适当地继续运行。要清除错误状态,需使用clear()函数。此函数带一个参数,它是你将要设为当前状态的标志值,只要将ios::goodbit作为实参。
全站熱搜