關於C 的getline疑問,C 中getline 是什麼意思?

時間 2022-09-06 00:35:07

1樓:焉湉湉

試試cin.getline(s1,5,'\n');

c++中getline 是什麼意思?

2樓:匿名使用者

istream& getline ( istream& , string& );

都是將輸入流的字元讀入到字串中,上面那個以你設定的終結符為結束標誌,下面那個以換行符'\n'作為結束。如果讀到eof或者遇到錯誤也會結束。

3樓:風若遠去何人留

getline是c++中的乙個輸入函式,作用為從標準輸入讀入整行資料,並存為字元陣列(char*或cha)。

getline有兩種過載:

1、 istream& getline(char* s, int n);

該操作為,從輸入中讀取整行資料,當遇到換行符\n時結束輸入。如果在輸入過程中,輸入實際字元數量超過引數n的值,同樣會結束輸入。輸入結果存在字元指標s指向的空間中。

2、istream& getline(char* s, int n, char delim);

這一過載較1中多了乙個字元型的delim,其功能為設定結束字元。

當讀入時,遇到字元與delim值相等時,結束輸入。除此外,其他與1中相同。

即,getline(s,n);

等同於getline(s,n,'\n');

4樓:匿名使用者

取得開啟檔案中 一行的資料

c++ getline問題

5樓:無盡的華爾茲

正確寫法是:

cin.getline(name,100,'q');

意思是,從輸入流獲取100個輸入給name,遇到字元q結束。

6樓:匿名使用者

在你寫getline()函式之前,一定有使用過了回車了吧不論你輸入的是字元,數字或是回車,空格符,getline()函式都接收

而cin>>這種輸入方式卻是忽略回車的,如果你在getline()之前cin的乙個數,回車被cin忽略了,卻被getline函式接收了,感覺就是這條語句被跳過了

所以解決的辦法是在getline函式之前再使用getline一次,將輸入流裡的回車符接收掉,後面就能正常輸入了

c++中,getline函式的詳解

7樓:匿名使用者

c++中本質上有兩種getline函式,一種在標頭檔案中,是istream類的成員函式。一種在標頭檔案中,是普通函式。

一、在中的getline函式有兩種過載形式:

istream& getline (char* s, streamsize n );

istream& getline (char* s, streamsize n, char delim );

作用是從istream中讀取至多n個字元儲存在s對應的陣列中。即使還沒讀夠n個字元,如果遇到換行符'\n'(第一種形式)或delim(第二種形式),則讀取終止,'\n'或delim都不會被儲存進s對應的陣列中。

二、在中的getline函式有四種過載形式:

istream& getline (istream&  is, string& str, char delim);istream& getline (istream&& is,

string& str, char delim);istream& getline (istream&  is, string& str);

istream& getline (istream&& is, string& str);

用法和上一種類似,不過要讀取的istream是作為引數is傳進函式的。讀取的字串儲存在string型別的str中。

8樓:蘿蔔肥

char s[1000]; (中括號裡的數字小於1000可能會出錯,但不一定出錯,原因上面已講)

或者char* s=new char[1000];

或者char a[1000];char * s=a;

或者char a[1000];char *s=&a[0];

9樓:

getline

語法

getline()函式用於輸入流,讀取字元到buffer中,直到下列情況發生:

num - 1個字元已經讀入,

碰到乙個換行標誌,

碰到乙個eof,

或者,任意地讀入,直到讀到字元delim。delim字元不會被放入buffer中。

10樓:匿名使用者

getline功能getline是string類物件的成員函式,屬於string io 操作。用於讀取整行文字

getline引數getline(cin,str);cin:輸入流str:string物件

getline說明getline函式從輸入流的下一行讀取,並儲存讀取的內容到str中,但不包括換行符。getline 函式將 istream 引數作為返回值,和輸入操作符一樣也把它用作判斷條件。   範例:

#include #include using namespace std;  int main()    結果:  輸入 line1 ----回車換行  顯示為空  輸入 line2 ----回車換行  顯示 line1  輸入 line3 ----回車換行  顯示 line2  ----(以此類推

C 中關於getline的乙個問題!

第乙個問題 getline這個函式的第二個引數n,是取的字串的最大長度,當給出的字串長度大於n的時候,就去前n個字元,這個是正常的情況。我覺得你把這個當成是一種異常了,認為會返回0.但實際上這個正確的情況。哦,剛查到這個函式的返回值是乙個流物件。這是個正常的函式呼叫,那麼這個流物件的狀態識別符號應該...

c語言函式定義中關於返回函式的疑問

node search list node node,int compare void const void const void const desired value 1 node 表示返回值為乙個node 結點指標。2 search list 函式名 3 node node 乙個結點指標 4 ...

關於C中的timer控制元件,C 中,關於Timer控制元件的說法正確的是 選2項

會完成。但是需要注意 1.system.windows.forms.timer 是單執行緒的,它只在ui執行緒中執行,定時精度約55ms,當前的事件沒處理完成時,下一次事件不會觸發 過久地處理會導致介面假死。2.system.threading.timer 是多執行緒的,觸發的事件在threadpo...