[比較] 字串、字元輸入

字串的輸入尤其重要
那麼多種方法
他們該怎麼區分呢?


字串輸入方式比較

 

 

  • 字元陣列

 

(屬於istream類別的成員函數)
cin >> 陣列名稱;
cin.getline(陣列名稱,要接收的字元數目(包括‘�’));
cin.get(陣列名稱,要接收的字元數目(包括‘�’));

 

 

  • string物件

 

(獨立的函數)
        cin >> 物件名稱;
        getline(cin,物件名稱);

 

        (會自動指定目的地大小)
 
各種輸入方式比較
來源
特性
使用方法
特殊功能
get();
函數
cin.get();
istream類別的成員函數
char ch=cin.get();
int值傳回字元代碼
cin.get(line);
istream類別的成員函數
會留下換行字元
利用cin.get();
吸收換行字元
以便讀取下一段字串
將字串傳入陣列中
cin.get(char);
istream類別的成員函數
能從讀取任何字元
包括空白
再指定給變數
以字元型態傳給目標變數
cin.getline();
istream類別的成員函數
不會留下換行字元
接收字串(包含空格)
將字串傳入陣列中
getline();
string類別獨立的函數
不會留下換行字元
會自動指定目的地大小
 
cin.get(char)與cin.get()比較
性質
cin.get(ch)
ch=cin.get()
轉換輸入字元的成員函數
指定給引數ch
用函數回傳值設給ch
對於字元輸入的函數回傳值
類別istream物件
(bool轉換後為true)
型態int值的字元代碼
在檔案終點時的函數回傳值
類別istream物件
(bool轉換後為false)
EOF
 

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料