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作为实参。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 minsin 的頭像
    minsin

    minsin的部落格

    minsin 發表在 痞客邦 留言(0) 人氣()