c++學習筆記

     面向行的輸入 getline()

     使用通過回車鍵入的換行符來確定輸入的結尾。cin.getline().此函數有兩個參數,第一個參數用來存儲輸入行的數組的名稱,第二個參數是要讀取的字符個數。它通過換行符來確定行尾,但是並不保存換行符。如果參數有20個,則函數最多讀取19個字符,餘下的空間就用來存儲自動在結尾處添加的空字符。

char name[10];

cin.getline(name,10);

用戶輸入jud,  enter鍵;

存儲

j u d \0                
      面向行的輸入,get()

  與getline()類似,接受的參數相同,解釋參數的方式也是相同的,都是讀取到行尾,但是get並不再讀取並丟棄換行符,而是將其留在輸入隊列中假設我們連續兩次調用get();

cin.get(name,arsize);

cin.get(dessert,arsize);

第一次調用後,換行符將留在輸入隊列中,因此第二次調用是看到的第一個字符便是換行符,因此get()以爲到達行尾,沒發現任何可讀的內容,悲劇了。。。

 但是,用get的變體,使用不帶任何參數的cin.get()用來處理換行符,就可以讀入下一行

例子:

cin.get(name,arsize);

cin.get();

cin.get(dessert,arsize);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章