91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cin.getline與getline()怎么在C++中使用

發布時間:2021-03-31 17:11:26 來源:億速云 閱讀:173 作者:Leah 欄目:編程語言

本篇文章為大家展示了cin.getline與getline()怎么在C++中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

使用 C++ 字符數組與使用 string 對象還有另一種不同的方式,就是在處理它們時必須使用不同的函數集。例如,要讀取一行輸入,必須使用 cin.getline 而不是 getline 函數。這兩個的名字看起來很像,但它們是兩個不同的函數,不可互換。

與 getline 一樣,cin.getline 允許讀取包含空格的字符串。它將繼續讀取,直到它讀取至最大指定的字符數,或直到按下了回車鍵。以下是其用法示例:

cin.getline(sentence, 20);

getline 函數使用兩個用逗號分隔的參數。第一個參數是要存儲字符串的數組的名稱。第二個參數是數組的大小。當 cin.getline 語句執行時,cin 讀取的字符數將比該數字少一個,為 null 終止符留出空間。這樣就不需要使用 setw 操作符或 width 函數。以上語句最多可讀取 19 個字符,null 終止符將自動放在數組最后一個字符的后面。

下面的程序演示了 getline 函數的用法,它最多可以讀取 80 個字符:

// This program demonstrates cinT s getline function
// to read a line of text into a C-string.
#include <iostream>、
using namespace std;
int main()
{
  const int SIZE = 81;
  char sentence[SIZE];
  cout << "Enter a sentence: ";
  cin.getline (sentence, SIZE);
  cout << "You entered " << sentence << endl;
  return 0;
}

程序輸出結果:

Enter a sentence: To be, or not to be, that is the question.
You entered To be, or not to be, that is the question.

補充:C++ getline()的兩種用法

getline():用于讀入一整行的數據。在C++中,有兩種getline函數。第一種定義在頭文件<istream>中,是istream類的成員函數;第二種定義在頭文件<string>中,是普通函數。

第一種: 在<istream>中的getline()函數有兩種重載形式:

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

作用是: 從istream中讀取至多n個字符(包含結束標記符)保存在s對應的數組中。即使還沒讀夠n個字符,如果遇到delim標識符或字數達到限制,則讀取終止。delim標識符會被讀取,但是不會被保存進s對應的數組中。注意,delim標識符在指定最大字符數n的時候才有效。

#include <iostream>
using namespace std;

int main()
{
 char name[256], wolds[256];
 cout<<"Input your name: ";
 cin.getline(name,256);
 cout<<name<<endl;
 cout<<"Input your wolds: ";
 cin.getline(wolds,256,',');
 cout<<wolds<<endl;
 cin.getline(wolds,256,',');
 cout<<wolds<<endl;
 return 0;
}

輸入

Kevin
Hi,Kevin,morning

輸出

Kevin
Hi
Kevin

第二種: 在<string>中的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中。

is:表示一個輸入流,例如cin。

str:string類型的引用,用來存儲輸入流中的流信息。

delim:char類型的變量,所設置的截斷字符;在不自定義設置的情況下,遇到'\n',則終止輸入。

#include<iostream>
#include<string>
using namespace std;
int main(){
 string str;
 getline(cin, str, 'A');
 cout<<"The string we have gotten is :"<<str<<'.'<<endl;
 getline(cin, str, 'B');
 cout<<"The string we have gotten is :"<<str<<'.'<<endl;
return 0;}

輸入

i_am_A_student_from_Beijing

輸出

The string we have gotten is :i_am_.
The string we have gotten is :_student_from_.

上述內容就是cin.getline與getline()怎么在C++中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寿阳县| 贵定县| 嘉义市| 五指山市| 江阴市| 罗城| 潮安县| 德州市| 渭源县| 麻江县| 紫金县| 仙居县| 侯马市| 化隆| 吕梁市| 九龙城区| 瓮安县| 新乡县| 丰镇市| 龙门县| 库伦旗| 伊春市| 鄂尔多斯市| 马鞍山市| 会东县| 疏附县| 武威市| 津市市| 青河县| 广宗县| 兰州市| 江永县| 类乌齐县| 即墨市| 宕昌县| 商水县| 申扎县| 神木县| 湄潭县| 东台市| 深州市|