C 中getline cin,string 最多一行能讀取多少個字元

2022-11-23 06:35:52 字數 2228 閱讀 7089

1樓:匿名使用者

這個不是固定的長度,剛開始會初始化乙個長度,但是當行超出這個長度的時候,getline會重新給這個buffer長度進行開闢,來適應變長的行。請參看考我給出來鏈結中的英文說明部分。

「 if *lineptr is null, the getline() routine will allocate a buffer for containing the line, which must be freed by the user program. alternatively, before calling getline(), *lineptr can contain a pointer to a malloc()-allocated buffer *n bytes in size. if the buffer is not large enough to hold the line read in, getline() resizes the buffer to fit with realloc(), updating *lineptr and *n as necessary.

in either case, on a successfulll, *lineptr and *n will be updated to reflect the buffer address and size respectively.」

2樓:行走的標本

為什麼不可以呢 getline是遇到換行符\n或者結束符eof才結束的 要是希望讀取100個以上 可以遮蔽到換行符就可以了 不知道樓主希望做什麼 是一次讀取100個字元還是 一次讀取一樣 畢竟一樣的概念就已經代表了存在換行符的

3樓:匿名使用者

請問c++中getline後,怎麼知道讀取了多少字元?

4樓:林楓

可以直接使用c語言的strlen函式。

執行完你的上述語句後,執行語句:

int len = strlen(str);

就可以獲取str中的有效字元數len了

5樓:yx陳子昂

返回值成功:返回讀取的位元組數。

失敗:返回-1。

c++中 怎麼使cin.getline函式輸入時候 不限字元數量

6樓:紅酒難喝

你直接用string類不就好了

#include

然後在把裡面的字元依次取出來放入乙個字元陣列裡

7樓:風若遠去何人留

似乎不行

除非你開乙個足夠大的buffer 不然總會有限制的

getline(cin,string)什麼意思?

8樓:康老師情感**

getline這是乙個函式,

他的兩個引數乙個是cin型別,乙個是string 型別,

函式功能就是可以讀一行字元

9樓:北風微風

從標準輸入流中(鍵盤輸入)讀取乙個字串,儲存到字串string(物件)中,它還有個引數delim,結束符,就是遇到什麼字元讀取結束,預設是換行'\n'。

cin.getline( data, sizeof( data ) ); 使用的cin的成員方法,功能一樣的,讀取乙個字串到陣列data中。

10樓:匿名使用者

讀取整行資料到string中,包含空格及特殊字元。預設以\n結束

這樣寫要小心string與型別名string重名

11樓:嬴霸

getline是讀取一行

一般這麼寫

cin.getline( data, sizeof( data ) );

c++ getline(cin,n1)只能讀取乙個單詞

12樓:

getline(cin, n2);你這是想當然地胡寫吧?getline是輸入流的成員函式,寫cin.getlein(str,100);才對,其中str必須是char *型指標,100是最長字元限制,還有一項預設以'\n'結束。

所以你想直接輸入到string n2中也是不行的,在cin.getlein(str,100);後面加一句n2+=str;就轉儲到string型n2中了。

C 中getline的用法,C 中,getline函式的詳解

getline 語法 用getline 讀取字元到buffer中,buffer在 中通常體現為乙個字元陣列,streamsize num是一次讀入多少個字元,num 1個字元已經讀入,當碰到乙個換行標誌,碰到乙個eof,或者任意地讀入,直到讀到字元delim。delim字元不會被放入buffer中。...

c的中括號意思,C 的中括號意思

datetimerange 新增c 特性 public class datetimerange validationattribute 使得 datetimerange 繼承了 validationattribute 所以現在 datatimerange特性就具有了自定義驗證功能 c 中括號的意義就...

C中folderBrowserDialog控制項如何寫按鈕事件

第一步 選擇 folderbrowserdialog1 第二步 將資料夾對話方塊拖到窗體中 第三步 新增按鈕,並填寫按鈕單擊事件 第四步 執行看效果 public form1 c folderbrowserdialog 這個控制項怎麼用?c 如何在folderbrowserdialog上增加乙個bu...