使用getline(cin, s)函數(shù)的常見(jiàn)用法
在C 中,可以使用getline(cin, s)函數(shù)從輸入流中讀取一行字符串。該函數(shù)有兩種常見(jiàn)的語(yǔ)法: getline(cin, s);:將輸入流中的一行字符串讀入到字符串變量s中。
在C 中,可以使用getline(cin, s)函數(shù)從輸入流中讀取一行字符串。該函數(shù)有兩種常見(jiàn)的語(yǔ)法:
getline(cin, s);:將輸入流中的一行字符串讀入到字符串變量s中。getline(cin, s, delimiter);:將輸入流中遇到分隔符delimiter時(shí)停止讀取,并將讀取的內(nèi)容保存到字符串變量s中。
使用getline(cin, s)函數(shù)進(jìn)行輸入和輸出操作
以第一種語(yǔ)法為例,當(dāng)我們使用getline(cin, s)函數(shù)進(jìn)行輸入操作時(shí),可以通過(guò)鍵盤輸入一個(gè)字符串,并將其保存到字符串變量s中。
而在輸出操作時(shí),我們可以使用cout語(yǔ)句將字符串變量s的內(nèi)容輸出到屏幕上。
下面是一個(gè)示例代碼:
#include lt;iostreamgt;
#include lt;stringgt;
using namespace std;
int main() {
string s;
getline(cin, s);
cout << "輸入的字符串是:" << s << endl;
return 0;
}
運(yùn)行以上代碼,程序會(huì)等待用戶輸入一個(gè)字符串,然后將輸入的字符串輸出到屏幕上。
使用getline函數(shù)的成員函數(shù)形式
除了作為全局函數(shù)使用外,getline函數(shù)還可以作為字符串的成員函數(shù)來(lái)調(diào)用。
例如,我們可以將輸入流對(duì)象cin作為字符串對(duì)象的成員函數(shù)來(lái)使用getline函數(shù):
#include lt;iostreamgt;
#include lt;stringgt;
using namespace std;
int main() {
string s;
(s);
cout << "輸入的字符串是:" << s << endl;
return 0;
}
運(yùn)行以上代碼,結(jié)果與前面示例的運(yùn)行結(jié)果相同。
使用getline函數(shù)進(jìn)行特定字符數(shù)或條件的輸入結(jié)束
我們還可以通過(guò)使用getline函數(shù)的第三個(gè)參數(shù)來(lái)控制輸入的結(jié)束條件。
例如,假設(shè)我們需要從鍵盤輸入一個(gè)長(zhǎng)度不超過(guò)num-1個(gè)字符的字符串,并在達(dá)到指定長(zhǎng)度或遇到字符f時(shí)停止輸入。代碼示例如下:
#include lt;iostreamgt;
#include lt;stringgt;
using namespace std;
int main() {
int num 10;
char delimiter 'f';
string s;
getline(cin, s, delimiter);
cout << "輸入的字符串是:" << s << endl;
return 0;
}
運(yùn)行以上代碼,程序會(huì)等待用戶輸入一個(gè)字符串。當(dāng)輸入的字符串長(zhǎng)度達(dá)到num-1個(gè)字符或遇到字符f時(shí),輸入操作會(huì)停止,并將輸入的內(nèi)容輸出到屏幕上。