C Primer 第4版 簡單問題之二

2022-11-28 13:55:17 字數 1156 閱讀 2207

1樓:q嘿仔

getline()在string中有兩種原型

istream& getline(istream& strm, string& str)

istream& getline(istream& strm, string& str, char delim)

你上面的例子中用的是第一個,第一個引數是cin,第二個引數是line。

用來向line中讀取一整行字元(包括空格)當遇到『\n'或者回車時輸入結束(前提是在不引發cin異常時)在看它的返回值,就知道getline返回的就是它第一個引數(cin)本身:

cin 是istream產生的一個物件,具有讀取功能,它有自己的狀態,eof, fail, good, bad等,當cin.goog()的返回值是false則證明cin的發生錯誤,istream還定義了隱式型別轉換operator *void ()使得cin可以間接轉換為bool(不是直接,因為*void是一種型別,而非bool型別,它還需要一步轉換)

至於getline的第二種,其實就是,你可以多帶入一個結束符,第一個就是(預設)為『\n'而已

標準庫裡邊的東西有點複雜,我不可能在這能給你說清楚,可能你有點看不懂,就當瞭解一下

while (getline(cin, line))

cout << line << endl;

這句話就是表示,每輸入一串字元(包括空格),當遇到回車時,輸出前面的字串;如果你輸入ctrl+z(end of file)用來表示你輸入完畢,getline()返回值為false,推出while迴圈,當然以ctrl+z結束的字串不會輸如cout,你就在黑屏上看不到

我用的是英文版的c++primer4rd,上面只有個類似的主函式,#include 這樣才對吧!

2樓:匿名使用者

換行符:'\n'

輸入的時候其實就是回車操作。。

3樓:匿名使用者

while(getline()) 這個迴圈當 getline() 遇到錯誤輸入才會退出。這樣寫基本上是死迴圈,在 windows 裡面有兩個方法退出:

1. 模擬eof,在一個新行的行首按下 ctrl+z,回車;

2. 直接按下 ctrl+c。

4樓:scene小店

用msdn看看他的返回值

龍之谷T4版本里,軍輸出兼副T問題

是這樣的 落雷這個技能完全不如連鎖 所以落雷完全不需要點高 點滿 現在的 被加強的很厲害 滿級 差不多能加6w血 是十字軍的保命技能必滿 另外連鎖點到16級質變就行 再往上點沒太大用 留出3點sp來點一轉的小金錘 剩下的都不錯不需要改了 盾擋現在能擋的是越來越少了 我不建議樓上弄那麼多的生存 既然玩...

溫州的CDMA版iphone4問題

我以為你要買聯通的iphone4。白打了這麼多字,1.聯通iphone4是專用的小卡,它自己有,你辦理的時候會讓你選號,會幫你插上。2.c版的iphone4和普通版本的iphone4沒有任何區別,功能都一樣的,本人就是買的聯通iphone4,所有的功能都可以用 3.c網的網速目前是最快的。我買賣ip...

關於零之使魔4的問題

如果想知道後面的情況,可以去看 不過 與動畫有一點點的差異。如果出了第四季的話,不知道會不會按照 的劇情發展。所以還是繼續等待官方的訊息吧!ova 地址 可以去看看 就曉得了 應該人氣沒有那麼熱了 以為從第2季開始就有點不好看的 但是出是肯定要出的 看是什麼時候 應該是明年吧 以為都有人說今年的10...