C 的getline()和get()函式

2021-07-16 21:06:38 字數 1921 閱讀 3352

在介紹這兩個函式之前,我們最常使用的字元或者字串輸入函式是cin>>,所以我們應當明白有了cin之後為什麼還需要這兩個函式?
一.cin函式cin>>a;(a如果是字元型別,讀取乙個位元組,a如果是字串型別,就讀取乙個單詞)

①.賦值:將得到的輸入賦給a

②.讀取結束標誌:使用空白(空格,製表符和換行符)來確定字串的結束位置

③.返回值:返回istream類的物件cin

二.getline()函式getline()是istream類的乙個成員函式,所以我們應該使用istream的物件cin來呼叫它。

ⅰ.cin.getline(line,size);(獲取一行輸入)

①.賦值:將得到的一行輸入賦給line

②.讀取結束標誌:在讀取指定size-1長度的字元或者遇到換行符時停止讀取。讀取size-1的長度之後,最後乙個字元儲存\0。

如果遇到換行符結束,將換行符從輸入流中提出

並丟棄,並新增\0

③.返回值:返回istream類的物件cin

下面是關於該函式的測試**:

這裡我們對乙個字元陣列進行輸入,可以看到它只讀取了9個位元組,最後乙個位元組儲存了換行符,可以使用cout<ⅱ.cin.getline(line,size , char);(讀取一行輸入)①.賦值:將得到的一行輸入賦給line

②.讀取結束標誌:在讀取指定size-1長度的字元或者遇到換行符或者遇到字char結束,將換行符從輸入流中提出並丟棄,並新增\0;

如果遇到字元char結束,將字元char從輸入流中提取並丟棄,並新增\0

③.返回值:返回istream類的物件cin

三.get()函式ⅰ.cin.get(line,size);(讀取一行輸入)

①.賦值:將得到的輸入賦給line

②.讀取結束標誌:在讀取指定size-1長度的字元或者遇到換行符時停止讀取。讀取size-1的長度之後,最後乙個字元儲存\0。

如果遇到換行符結束,將換行符保留在輸入流中。

③.返回值:返回istream類的物件cin

ⅱ.cin.get(line,size , char);(讀取一行輸入)

①.賦值:將得到的輸入賦給line

②.讀取結束標誌:在讀取指定size-1長度的字元或者遇到換行符或者字元char時停止讀取。讀取size-1的長度之後,最後乙個字元儲存\0。

如果遇到換行符結束,將換行符保留在輸入流中。如果遇到字元char結束,將char字元留在輸入流中

③.返回值:返回istream類的物件cin

ⅲ.cin.get(ch);(讀取下乙個輸入字元,包括空格,製表符和換行符)

①.賦值:將得到的輸入賦給ch

②.讀取結束標誌:讀取乙個字元即結束

③.返回值:返回istream類的物件cin

ⅳ.ch=cin.get();(讀取下乙個輸入字元,包括空格,製表符和換行符)

①.賦值:將得到的輸入賦給ch

②.讀取結束標誌:讀取乙個字元即結束

③.返回值:返回int型別(字元ch對應的ascii數值)

C 中get和getline函式詳解

get函式函式原型有多個,其中比較簡單的2個是 char get istream get char c 前者提取的字元作為函式值,後者提取的字元賦值給引數c,使用get函式從鍵盤提取自負的格式分別為 cin.get cin.get 字元變數c window系統下eof輸入為ctrl z,macos系...

C 行輸入getline 和get

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

面向行的輸入 getline()和get()

getline getline 函式讀取整行,它使用通過回車鍵輸入的換行符來確定輸入結尾。呼叫方法為cin.getline 該函式有兩個引數。第乙個引數是陣列名,第二個引數是要讀取的字元數。例如第二個引數為n,則函式最多讀取n 1個字元,因為至少要保留乙個空間存空字元,即 0 getline 成員函...