來源:http://blog.vckbase.com/bruceteen/archive/2005/06/29/8952.html
cin.clear()恢復正確標志位cin.ignore流中錯誤的數(shù)據(jù)拋棄掉為了進一步查看輸入流的狀態(tài),可以通過以下代碼測試:http://blog.csdn.net/SearchLife/archive/2008/12/10/3491768.aspx
我們定義要輸入到的變量是整型,但如果我們輸入了英文字母或者漢字,那就會發(fā)生錯誤,cin里有個方法能檢測這個錯誤,就是cin.rdstate();當cin.rdstate()返回0(即ios::goodbit)時表示無錯誤,可以繼續(xù)輸入或者操作,若返回4則發(fā)生非致命錯誤即ios::failbit,則不能繼續(xù)輸入或操作.而cin.clear則可以控制我們此時cin里對這個問題的一個標識.語發(fā)如下:cin.clear(標識符);標識符號為:
goodbit 無錯誤 Eofbit 已到達文件尾 failbit 非致命的輸入/輸出錯誤,可挽回 badbit 致命的輸入/輸出錯誤,無法挽回 若在輸入輸出類里.需要加ios::標識符號
Copyright © 天邊藍