天天看點

io_state 狀态标志 緩沖區

輸入時可能經常遇到輸入内容超出預計,導緻下面的輸入出現問題。怎麼處理這種錯誤呢,我們先來了解下io的幾種狀态

<b>1</b><b>表示肯定,</b><b>0</b><b>表示否定,再結合标記位的名稱,即可得出标記位目前狀态的含義。</b>

bool fail();

bool eof();

bool bad();          

bool good();

隻有當good()值為1的時候才能進行正常的輸入。

bool bad();

任一狀态為1都将導緻輸入失敗。

由此我們可以使用clear()函數清空狀态、

然後對緩沖區進行清理,

setbuf(stdin,NULL);

    cin.sync();

     fflush(stdin);

這三種方法都是可以實作的。

使用clear()函數結合這三個中的任一個,都可以實作。