亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

getline怎么在c++中使用

發布時間:2021-01-14 15:53:04 來源:億速云 閱讀:405 作者:Leah 欄目:編程語言

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

getline是C++標準庫函數;但不是C標準庫函數,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定義的標準庫函數(在POSIX IEEE Std 1003.1-2008標準出來之前,則只是GNU擴展庫里的函數)。getline會生成一個包含一串從輸入流讀入的字符的字符串,直到以下情況發生會導致生成的此字符串結束:1)到文件結束,2)遇到函數的定界符,3)輸入達到最大限度。

getline()函數是一個比較常見的函數。根據名字直接"望文->生義",就知道這個函數是來完成讀入一行數據。

下面就對C++ -- getline()函數的用法說明,以及getline()函數作為while條件的問題,總結一下:

在C++中本質上有兩種getline函數,(稱為第一種)一種在頭文件<istream>中,是istream類的成員函數。

好了,看正文,給大家詳細介紹。

功能:讀入一行數據。

c++中有2種getline函數,一種在頭文件 <istream> 中,是istream類的成員函數;另一種是在頭文件 <string> 中,是普通函數。

1.在頭文件 <istream> 的getline函數兩種重載形式:

istream& getline (char* s, streamsize n );//讀取最多n個字符保存在s對應的數組中,即使大小不夠n,
istream& getline (char* s, streamsize n, char delim ); //讀取最多n個字符保存在s對應的數組中,遇到delim,或者讀完一行,或字數達到限制則終止

特別說明: 最多讀取n個字符中結束字符算一位。

例子代碼:

// istream::getline example
#include <iostream>  // std::cin, std::cout
int main () {
 char name[256], title[256];
 std::cout << "Please, enter your name: ";
 std::cin.getline (name,256);
 std::cout << "Please, enter your favourite movie: ";
 std::cin.getline (title,256);
 std::cout << name << "'s favourite movie is " << title;
 return 0;
}

通過字數限制修改的代碼:

getline怎么在c++中使用

通過設置終止字符使用getline函數的代碼:

getline怎么在c++中使用

關于這個函數的2點疑問:

第一點,當定義一個小的數組,輸入的時候要求輸入的長度超出數組長度,輸出的時候會輸出全部的值。

#include<iostream>
int main()
{
	char name[5];
	std::cin.getline(name,25);
	std::cout<<name<<std::endl;
	return 0;
}

結果:

getline怎么在c++中使用

第二點,代碼如下

// istream::getline example
#include <iostream>  // std::cin, std::cout
int main () {
 char name[6], title[256];
 std::cout << "Please, enter your name: ";
 std::cin.getline (name,4);
 //代碼通過字數限制存入數組后就不再運行11-12行代碼,而是直接16行 
 std::cout << "Please, enter your favourite movie: ";
 std::cin.getline (title,256,'#');
 std::cout<<std::endl;	
 std::cout << name << " " << title;
 return 0;
}

getline怎么在c++中使用

2.在頭文件<string>中的getline函數

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

(2) 

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

說明:

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

  • str:用來存儲輸入流中的信息

  • delim:自定義結束字符,默認是 '\n '

例子代碼:

#include<iostream>
#include<string>
int main()
{
	std::string name; //這里定義的是string類型,而不是char
	std::getline(std::cin,name);
	std::cout<<name<<std::endl;
	
	return 0;
}

getline在while語句中作為判定條件:

不設置終止符

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string name;
	while(getline(cin,name))
	{
		cout<<name<<endl;
	}
	return 0;
}

使用終止符的while語句(當輸入 ' \n ' 也不受影響)

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string name;
	while(getline(cin,name,'#'))
	{
		cout<<"輸出結果:"<<endl;
		cout<<name<<endl;
	}
	
	
	return 0;
}

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

向AI問一下細節

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

AI

怀化市| 高青县| 富宁县| 茂名市| 隆化县| 丹东市| 神池县| 吉隆县| 保康县| 博野县| 双城市| 石景山区| 昭苏县| 崇阳县| 忻州市| 庄浪县| 德格县| 化隆| 和田县| 崇阳县| 花莲县| 伊川县| 陇川县| 蛟河市| 肥东县| 新兴县| 监利县| 余干县| 谷城县| 南陵县| 望奎县| 河曲县| 丰宁| 庆阳市| 会泽县| 双峰县| 洛阳市| 保德县| 华池县| 杭州市| 肥乡县|