C 輸入函式 總結

2021-07-04 21:04:25 字數 2458 閱讀 9271

cin《的結束符有enter space tab

cin.get()的結束符只有enter,但會把enter放入佇列等待

cin.getline()的結束符也只有enter,但不會把enter放入佇列

1.cin.getline():
cin的getline需要這樣用

cin.getline(s,50,'\n'); 或者cin.getline(s,50);

cin.getline(s)沒有這種用法,
其中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...