cin讀入string物件

2022-05-29 19:12:17 字數 958 閱讀 3032

cin

1.cin>>

1.以空格,回車,換行分隔

2.如果第乙個為上述「分隔符」,cin會自動忽略並清除,等待資料繼續輸入

3.cin>>noskipws>>input可以不略過空白字元

2.cin.get

a.讀取乙個字元

a=cin.get();cin.get(a);

不忽略分隔符

b.讀取一整行

cin.get(a,size);遇到分隔符是結束

note:

只能將字串讀入c風格的字串中,即char*類,而getline型別可以讀入c++風格字串,即string類

3.cin.getline

a=cin.getline(a,size)遇到分隔符結束

實際只能讀取size-1個資料

與cin.get()唯一區別為,前者不會將分隔符留在緩衝區中

4.cin.clear()

清空輸入資料時的異常狀態,使接下來的資料正常輸入

5.cin.ignore()

cin.ignore(1024,』\n』)第乙個引數通常要求為非常大的整數,實際上只有\n在起作用,就是把回車(包括回車)之前的所以字元從輸入緩衝(流)中清除出去。

note:

如果cin.ignore()不給引數,則預設引數為cin.ignore(1,eof),即把eof前的1個字元清掉,沒有遇到eof就清掉乙個字元然後結束,會導致不正確的結果

6.getline

getline(cin,a)getline遇到結束符時,會將結束符一併讀入指定的string中,再將結束符替換為空字元,所以用getline較為安全

與cin.getline()類似,前者屬於istream流,後者屬於stirng流

string輸入

即用上述的cin和讀入即可getline

為了輸入的快速,防止超時,可以使用scanf讀入資料,後再賦值給string

使用 cin 輸入 string 物件

遇到這麼乙個問題 想從鍵盤輸入一行字串,然後輸出到終端,不使用qt 方法一 std string mywords std cin mywords std cout mywords std endl 執行程式,在介面輸入 i create a new virtual world 回車,介面輸出 i 問...

關閉cin讀入同步,加速程式

static const auto 以上 加速c 程式執行,可以來取消 iostream 的輸入輸出快取,節省許多時間,使效率與scanf與printf相差無幾。其中 c 為了保證程式在使用了 printf 和 cout 時不發生衝突,進行了相容性處理。cin cout之所以效率低,就是因為先把要輸...

關於cin和getline讀入字串

今天做天梯賽訓練題 新得知了乙個知識點 那就是cin和getline cin string s 讀入字串的不同。cin 1.cin從緩衝區讀字串時,如果第乙個字元是空格 換行或者tab這些字元時,cin會自動忽略並等待正經字元。2.cin如果第乙個字元讀到了正經字元,那麼接下來如果cin遇到空格 換...