這篇文章將為大家詳細(xì)講解有關(guān)如何在C++中使用getline()函數(shù),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
盈江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),盈江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為盈江上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的盈江做網(wǎng)站的公司定做!getline()用法
getline是C++標(biāo)準(zhǔn)庫函數(shù);它有兩種形式,一種是頭文件< istream >中輸入流成員函數(shù);一種在頭文件< string >中普通函數(shù);
它遇到以下情況發(fā)生會導(dǎo)致生成的本字符串結(jié)束:
(1)到文件結(jié)束,(2)遇到函數(shù)的定界符,(3)輸入達(dá)到大限度。
輸入流成員函數(shù)getline()
函數(shù)語法結(jié)構(gòu):
在< istream >中的getline()函數(shù)有兩種重載形式:
istream& getline (char* s, streamsize n ); istream& getline (char* s, streamsize n, char delim );
作用是: 從istream中讀取至多n個字符(包含結(jié)束標(biāo)記符)保存在s對應(yīng)的數(shù)組中。即使還沒讀夠n個字符,
如果遇到delim 或 字?jǐn)?shù)達(dá)到限制,則讀取終止,delim都不會被保存進(jìn)s對應(yīng)的數(shù)組中。
代碼實(shí)例
#includeusing namespace std; int main() { char name[256]; cout << "Please input your name: "; cin.getline(name, 256); cout << "The result is: " << name << endl; return 0; }
#includeusing namespace std; int main( ) { char line[100]; cout << " Type a line terminated by 't'" << endl; cin.getline( line, 100, 't' ); cout << line << endl; return 0; }
普通函數(shù)getline()
函數(shù)語法結(jié)構(gòu):
在< string >中的getline函數(shù)有四種重載形式:
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);
函數(shù)的變量:
is :表示一個輸入流,例如 cin。
str :string類型的引用,用來存儲輸入流中的流信息。
delim :char類型的變量,所設(shè)置的截斷字符;在不自定義設(shè)置的情況下,遇到'\n',則終止輸入
用法和上一種類似,但是讀取的istream是作為參數(shù)is傳進(jìn)函數(shù)的。讀取的字符串保存在string類型的str中。
代碼實(shí)例
#include#include using namespace std; int main() { string name; cout << "Please input your name: "; getline(cin, name); cout << "Welcome to here!" << name << endl; return 0; }
#include#include using namespace std; int main() { string name; cout << "Please input your name: "; getline(std::cin, name, '#'); cout << "Welcome to here!" << name << endl; return 0; }
關(guān)于如何在C++中使用getline()函數(shù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。