中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

getline函數怎么在C++中使用

發布時間:2021-02-03 16:51:48 來源:億速云 閱讀:223 作者:Leah 欄目:開發技術

這篇文章給大家介紹getline函數怎么在C++中使用,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

雖然可以使用 cin 和 >> 運算符來輸入字符串,但它可能會導致一些需要注意的問題。

當 cin 讀取數據時,它會傳遞并忽略任何前導白色空格字符(空格、制表符或換行符)。一旦它接觸到第一個非空格字符即開始閱讀,當它讀取到下一個空白字符時,它將停止讀取。以下面的語句為例:

cin >> namel;

可以輸入 "Mark" 或 "Twain",但不能輸入 "Mark Twain",因為 cin 不能輸入包含嵌入空格的字符串。下面程序演示了這個問題:

// This program illustrates a problem that can occur if
// cin is used to read character data into a string object.
#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;
int main()
{
 string name;
 string city;
 cout << "Please enter your name: ";
 cin >> name;
 cout << "Enter the city you live in: ";
 cin >> city;
 cout << "Hello, " << name << endl;
 cout << "You live in " << city << endl;
 return 0;
}

程序輸出結果:
Please enter your name: John Doe
Enter the city you live in: Hello, John
You live in Doe

請注意,在這個示例中,用戶根本沒有機會輸入 city 城市名。因為在第一個輸入語句中,當 cin 讀取到 John 和 Doe 之間的空格時,它就會停止閱讀,只存儲 John 作為 name 的值。在第二個輸入語句中, cin 使用鍵盤緩沖區中找到的剩余字符,并存儲 Doe 作為 city 的值。

為了解決這個問題,可以使用一個叫做 getline 的 C++ 函數。此函數可讀取整行,包括前導和嵌入的空格,并將其存儲在字符串對象中。

getline 函數如下所示:

getline(cin, inputLine);

其中 cin 是正在讀取的輸入流,而 inputLine 是接收輸入字符串的 string 變量的名稱。下面的程序演示了 getline 函數的應用:

// This program illustrates using the getline function
//to read character data into a string object.
#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;
int main()
{
 string name;
 string city;
 cout << "Please enter your name: ";
 getline(cin, name);
 cout << "Enter the city you live in: ";
 getline(cin, city);
 cout << "Hello, " << name << endl;
 cout << "You live in " << city << endl;
 return 0;
}

程序輸出結果:
Please enter your name: John Doe
Enter the city you live in: Chicago
Hello, John Doe
You live in Chicago

關于getline函數怎么在C++中使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

芮城县| 和平区| 平邑县| 奎屯市| 威宁| 海口市| 长岛县| 台南市| 成都市| 沙河市| 德阳市| 鸡泽县| 青浦区| 阳新县| 潞西市| 邢台县| 廊坊市| 龙岩市| 得荣县| 武胜县| 辰溪县| 华安县| 桐庐县| 嘉兴市| 镇沅| 贞丰县| 鹤峰县| 沛县| 太保市| 冷水江市| 清水河县| 襄汾县| 正安县| 定南县| 青海省| 廉江市| 泾阳县| 滨海县| 武隆县| 阜新市| 星子县|