cin《的結束符有enter space tabcin.get()的結束符只有enter,但會把enter放入佇列等待
cin.getline()的結束符也只有enter,但不會把enter放入佇列
1.cin.getline():
cin的getline需要這樣用cin.getline(s)沒有這種用法,cin.getline(s,50,'\n'); 或者cin.getline(s,50);
其中s需要時char *或unsigned char *,50表示讀入大小(最大),'\n'表示分隔符,可以省略,預設就是這個getline(cin,s),s需要是string,需要引入string標頭檔案,std::string空間引入
cin.getline適合你知道讀入大小,固定char陣列,速度快
getline(cin,s)不需要指定大小,但速度慢、生成的檔案大,適合偷懶用
2.cin.get(): 輸入過多的字元會儲存在緩衝區!!!
單個字元輸入:
char ch;
ch=cin.get(); //或者cin.get(ch);
含空格字串輸入:
char a[20];
cin.get(a,20);
c=getchar();
功能:讀入乙個字元
說明:呼叫此函式時要求在程式的第一行有預編譯命令:#include,不過在做c++時
有#include也夠了。變數c獲得乙個從標準裝置上讀取的字元**值。當從鍵
盤上輸入^z(即ctrl和z鍵同時按下)時,c得到的值是-1,^z稱檔案結尾,在程式中經
常使用符號常量eof表示。
二:字串輸入函式
char *s;
gets(s);
功能:讀取乙個字串,存入s所指向的記憶體內。當遇到時結束字串的輸入,並且
自動將字元轉換成『\0』(即null)放在串的末尾,使其構成乙個字串。
的首位址。如遇到檔案尾貨出錯時返回null。null定義的形式為「#define null 0」
它包含在stdio.h的標頭檔案中。若再c++中使用則要加標頭檔案#include類似cin.getline()裡面的乙個例子,gets()同樣可以用在多維陣列裡面:
#include#includeusing namespace std;
main ()
{char m[3][20];
for(int i=0;i<3;i++)
{cout<<"\n請輸入第"<>也可以適用
,原因是這裡輸入的沒有空格,如果輸入了空格,比如「ks kr jkl[回車]」那麼cin就會已
經接收到3個字串,「ks,kr,jkl」;再如「kskr 1[回車]kskr 2[回車]」,那麼則接
收「kskr,1,kskr」;這不是我們所要的結果!而cin.getline()和gets()因為可以接收空格,
所以不會產生這個錯誤;
三.cin.get()
用法1: cin.get(字元變數名)可以用來接收字元
#include using namespace std;
int main ()
{char ch;
ch=cin.get(); //或者cin.get(ch);
coutmain ()
{char a[20];
cin.get(a,20);
coutmain ()
{char m[20];
cin.getline(m,5);
cout<
字元)//當第三個引數省略時,系統預設為'\0'
//如果將例子中cin.getline()改為cin.getline(m,5,'a');當輸入jlkjkljkl時輸出jklj,輸入
jkaljkljkl時,輸出jk
當用在多維陣列中的時候,也可以用cin.getline(m[i],20)之類的用法:
#include#includeusing namespace std;
main ()
{char m[3][20];
for(int i=0;i<3;i++)
{cout<<"\n請輸入第"<」
#include#includeusing namespace std;
main ()
{string str;
getline(cin,str);
cout<
樣的兩個函式
C 輸入函式總結
在c 中,各種輸入方法還是不少的,而且各有所異,本文做一點簡要總結,主要涉及如下內容 cin cin.get cin.getline getline gets getchar 輸入原理簡述 程式的輸入都建有乙個緩衝區,即輸入緩衝區。每次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝...
C和C 鍵盤輸入函式總結
說明 可以讀入包括空格 跳格和回車在內的空白字元 1.gets 用於一維字串中,可以接受空格 include gets 包含在標頭檔案stdio.h中 char s gets s 2.gets s 用於二維陣列中,可以接受空格 include include using namespace std ...
C 輸入方法總結
最近在看c primer plus時經常會混淆各種輸入方法,例如cin,cin.get cin.getline getline 等,所以想做乙個總結 程式的輸入都有乙個緩衝區,當乙個程式結束輸入時,會將輸入的資料都放到輸入緩衝區,cin的函式都是從輸入緩衝區取資料的,所以當輸入緩衝區有殘留資料時,c...