學習c++的同學可能都會遇到乙個getline()函式,譬如在c++premer中,標準string型別第二小節就是「用getline讀取整行文字」。書上給的程式如下:
int main()
string line;
cout
<<"please cin a line:"
getline(cin,line,'#');
cout
<"the line you give is:"line;
那麼當我輸入」you are the #best!」 的時候,輸入流實際上唯讀入了」you are the 「,#後面的並沒有存放到line中(應該是在緩衝區裡吧)。然後程式執行結果應該是這樣的:
please cin a line:you are the #best!
the line you give is:you are the
而且這裡把終止符設為#,你輸入的時候就算輸入幾個回車換行也沒關係,輸入流照樣會讀入,譬如:
please cin a
line:you are the best!//這裡輸入了乙個回車換行
thank you!
# //終止讀入
the line you give is:you are the best!//換行照樣讀入並且輸出
thank you!
ps:
一般來說:
getline函式接受兩個引數:乙個輸入流物件和乙個 string 物件。
getline 函式從輸入流的下一行讀取,並儲存讀取的內容到不包括換行符。(可以讀入空格)
只要 getline 遇到換行符,將停止讀入並返回。
如果第乙個字元就是換行符,則 string 引數將被置為空 string。
getline 函式將 istream 引數作為返回值,和輸入操作符一樣也把它用作判斷條件。
getline 函式詳解
學習c 的同學可能都會遇到乙個getline 函式,譬如在c premer中,標準string型別第二小節就是 用getline讀取整行文字 書上給的程式如下 int main 大家會發現執行時怎麼也跳不出迴圈,甚至會發生各種莫名其妙的錯誤。這是為什麼呢?在這裡我給大家做乙個詳細的講解。istrea...
getline 函式詳解
學習c 的同學可能都會遇到乙個getline 函式,譬如在c premer中,標準string型別第二小節就是 用getline讀取整行文字 書上給的程式如下 int main 大家會發現執行時怎麼也跳不出迴圈,甚至會發生各種莫名其妙的錯誤。這是為什麼呢?在這裡我給大家做乙個詳細的講解。istrea...
getline 函式詳解
學習c 的同學可能都會遇到乙個getline 函式,譬如在c premer中,標準string型別第二小節就是 用getline讀取整行文字 書上給的程式如下 int main 大家會發現執行時怎麼也跳不出迴圈,甚至會發生各種莫名其妙的錯誤。這是為什麼呢?在這裡我給大家做乙個詳細的講解。istrea...