cin gets getline cin.get等輸入的區別

最近想刷題,於是通過通過一個簡單的例子發現以前學過的都忘了,那就從0開始積累吧

首先是c++的cin輸入:cin輸入的時候會識別空格,遇空格,回車就結束。

                                    cin.get()則是獲取一個字符。

                                    cin.get(數組名,數組個數),可接一串字符,比如說cin.get(a,20);就會接受19個字符放在數組a裏邊(最後一個是\0)。

                                    cin.getline();

                         cin.getline()實際上有三個參數,cin.getline(接受字符串的看哦那間m,接受個數5,結束字符) 

                         當第三個參數省略時,系統默認爲'\0' 

                         如果將例子中cin.getline()改爲cin.getline(m,5,'a');當輸入jlkjkljkl時輸出jklj,輸入jkaljkljkl時,輸出jk

                         當用在多維數組中的時候,也可以用cin.getline(m[i],20)之類的用法:

#include<iostream> 
#include<string> 
using namespace std;

main () 

char m[3][20]; 
for(int i=0;i<3;i++) 

cout<<"\n請輸入第"<<i+1<<"個字符串:"<<endl; 
cin.getline(m[i],20); 
}

cout<<endl; 
for(int j=0;j<3;j++) 
cout<<"輸出m["<<j<<"]的值:"<<m[j]<<endl;

}

請輸入第1個字符串: 
kskr1

請輸入第2個字符串: 
kskr2

請輸入第3個字符串: 
kskr3

輸出m[0]的值:kskr1 
輸出m[1]的值:kskr2 
輸出m[2]的值:kskr3


                     當引用了#include<string>以後再去用getline就會直接輸出所輸入的字符串,例string str;    getline(cin,str);

                     屬於string流;

                     gets()可輸入空格,最後會有\0。例 char *a=new char[1024];     gets(a);  輸入jk k k,輸出jk k k。



部分截自http://my.oschina.net/u/270597/blog/301684,支持原創。

發佈了37 篇原創文章 · 獲贊 4 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章