C cin學習筆記

2021-07-11 05:13:39 字數 903 閱讀 9137

更新中:

1.錯誤處理

重要函式:

bool cin.good();

bool cin.bad();

bool cin.fail();

bool cin.eof();

這四個函式用來測試相應的標誌位是否為1,具體如下:

failbit | eofbit | badbit

所以,ios::failbit=100b

ios::eofbit=010b

ios::badbit=001b

ios::goodbit=000b

如果想獲得對應標誌位的值,可以用標誌變數&標誌位,獲取標誌變數的函式為:iostate ios::rdstate()

重置標誌變數:void ios::clear(iostate _state=goodbit) ,這個函式可以把標識變數初始化為_state的值,預設為全0

2.緩衝區

basic_istream& ignore(streamsize _count = 1, int_type _delim = traits_type::eof());

忽略緩衝區內的_count個字元,直到遇到_delim字元。

3.字串輸入

1.cin>>

遇到空白字元停止,可以用cin>>noskipws>> 忽略空白字元

2.cin.get(ch) //接收乙個字元

cin.get(字元陣列名,接收字元數目)用來接收一行字串,可以接收空格

3.cin.getline(接受字串的名字,接受個數,結束字元),第三個引數預設為'\0'

4.getline(cin,string),讀入乙個string

c cin常用總結

從標準輸入 鍵盤 寫入的資料會都存放在輸入快取區,當輸入快取區有資料時,cin會直接從輸入快取區讀取,而當輸入緩衝區沒有資料時,cin會掛起請求使用者輸入資料 從標準輸入寫入資料,按enter鍵結束此次輸入,而cin x 讀取一次資料結束的標誌是空白 包括空格,製表符tab,回車 表示式cin x ...

c cin使用總結

一 輸入原理 程式的輸入都建有乙個緩衝區,即輸入緩衝區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝區,而cin函式直接從輸入緩衝區中取資料。正因為cin函式是直接從緩衝區取資料的,所以有時候當緩衝區中有殘留資料時,cin函式會直接取得這些殘留資料而不會請求鍵盤輸入 1 in...

C cin速度優化

很多c 的初學者可能會被這個問題困擾,經常出現程式無故超時,最終發現問題處在cin和cout上,甚至有些老oier也會被這個問題困擾,每次只能打scanf和printf,然後一堆的佔位符巨麻煩 這是因為c 中,cin和cout要與stdio同步,中間會有乙個緩衝,所以導致cin,cout語句輸入輸出...