C 中get和getline函式詳解

2021-08-15 19:14:01 字數 1139 閱讀 5873

get函式函式原型有多個,其中比較簡單的2個是:

char get();

istream &get(char c);

前者提取的字元作為函式值,後者提取的字元賦值給引數c,使用get函式從鍵盤提取自負的格式分別為:

cin.get();

cin.get(字元變數c);

window系統下eof輸入為ctrl+z,macos系統下eof為control+d。

函式getline()輸入一行字元,getline函式原型是:

istream &getline(char *buf, int n, char ch='\n');
功能是最多提取n-1個字元放在buf為首位址的緩衝區中,引數ch為終止符,隱含的終止符為換行符。

使用getline函式從鍵盤提取字串的格式為:

cin.getline(字元指標, 整數n, 終止界定符);
輸入字元少於n-1時,接受實際輸入的字元數,並將緩衝區的回車符清除,如輸入字元數不少於n-1時,多餘的字元及回車符留在緩衝區。該函式不能接受換行字元'\n'。

該函式終止讀取字元的條件為:

讀取n-1個字元

遇到引數指定的終止符

遇到檔案結束符(ctrl+z)或回車符

#includeusing namespace std;

const int size=80;

int main()

cout << endl;

cout << "最長行字元數: " << lmax << endl;

cout << "總行數: " << lcnt << endl;

C 的getline()和get()函式

在介紹這兩個函式之前,我們最常使用的字元或者字串輸入函式是cin 所以我們應當明白有了cin之後為什麼還需要這兩個函式?一.cin函式cin a a如果是字元型別,讀取乙個位元組,a如果是字串型別,就讀取乙個單詞 賦值 將得到的輸入賦給a 讀取結束標誌 使用空白 空格,製表符和換行符 來確定字串的結...

C 行輸入getline 和get

c語言在讀取字串時可使用scanf 函式,但是scanf 只能讀入乙個單詞,如果要讀取一行文字可使用gets 和其它函式,詳細可戳此鏈結檢視。同樣,在c 中也提供了面向行輸入的函式getline 和get getline 函式讀取整行,通過回車換行符確定輸入結尾,隨後丟棄換行符。要呼叫這種方法,使用...

C 中的getline 函式

getline 函式是c 庫函式。它會生成乙個包含一串從輸入流讀入的字元的字串,直到以下情況發生會導致生成的此字串結束。1 到檔案結束,2 遇到函式的定界符,3 輸入達到最大限度。我們一般用string輸入字串時不能讀取空格,我們可以用getline 函式從輸入流中讀取,getline 函式之前的回...