C primer plus 字串的故事2

2021-08-26 02:52:27 字數 660 閱讀 3729

(1)每次讀取一行輸入

getline()和get()函式都讀取一行輸入,直到達到換行符,但是getline()將丟棄換行符,get()將換行符保留在輸入序列中

(2)首先介紹getline()

呼叫方法是cin.getline(),如果陣列只有19個字元,餘下空間用於儲存自動在結尾處新增空字元,getline()成員函式在讀取指定數目的字元或者遇到換行符時自動停止讀取,並且在讀取完輸入內容後,讀到使用者按下的enter鍵而生成的換行符,並將換行符替換為空字元,用來儲存

(3)get()函式

假如連續兩次呼叫cin.get(),會導致乙個讀到換行符而不進行輸入,所以get還有另外一種變體解決這個問題

cin.get(a,10)

cin.get()

cin.get(s,10)

這樣可以較好的解決這個問題

(4)空行的問題

遇見空行,為了避免get()讀進去,因為當讀到空行時,get()將設定乙個失效位(faikbit)這意味著接下來的輸入將被阻斷,但是可以用下面的命令來恢復輸入

cin.clear();

另乙個潛在的問題是輸入的字串比分配的多,getline()還會設定失效位,並關閉後面的輸入

(5)混合輸入字串和數字

cin>>a

coutinclude//庫函式

字串筆記(C Primer Plus)

有乙個字串陣列是很方便的,這樣就可以使用下標來訪問多個不同的字串。下面是乙個例子 const char mytal 5 也可以採用二維陣列 char mytal 2 5 81 c庫提供了3個讀取字串的函式 scanf gets fgets char name 81 gets name char pt...

《C primer plus》的字串習題

題目 編寫乙個接受乙個指向字串的指標作為引數,並返回該字串的長度的函式。include intstrlen char str int main void int strlen char str return i 執行無誤 設計乙個函式,接受乙個指向字串的指標,返回指向該字串第1個空格字元的指標,或如...

C primer plus 系列2 字串

1 將字串存在陣列中的兩種方法 2 如何在陣列中使用字串 3 cin只能讀取乙個單詞,讀到換行符認為字串結束 4 介紹cin.get cin.getline 1 將字串存在陣列中的兩種方法 int a 5 0 用來標記字串結尾 int a 5 food 稱為字串常量 2 在陣列中使用字串 inclu...