C++中g(shù)etline()的用法詳解
getline()用法
getline是C++標(biāo)準(zhǔn)庫函數(shù);它有兩種形式,一種是頭文件< istream >中輸入流成員函數(shù);一種在頭文件< string >中普通函數(shù);
它遇到以下情況發(fā)生會導(dǎo)致生成的本字符串結(jié)束:
(1)到文件結(jié)束,(2)遇到函數(shù)的定界符,(3)輸入達到最大限度。
輸入流成員函數(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ù)達到限制,則讀取終止,delim都不會被保存進s對應(yīng)的數(shù)組中。
代碼實例
#include <iostream>
using namespace std;
int main()
{
char name[256];
cout << "Please input your name: ";
cin.getline(name, 256);
cout << "The result is: " << name << endl;
return 0;
}
#include <iostream>
using 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傳進函數(shù)的。讀取的字符串保存在string類型的str中。
代碼實例
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Please input your name: ";
getline(cin, name);
cout << "Welcome to here!" << name << endl;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name;
cout << "Please input your name: ";
getline(std::cin, name, '#');
cout << "Welcome to here!" << name << endl;
return 0;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C++中g(shù)etline()、gets()等函數(shù)的用法詳解
- C++ cin.getline及getline()用法詳解
- C++中g(shù)etline()和get()的方法淺析
- C++的get()函數(shù)與getline()函數(shù)使用詳解
- 基于C++ cin、cin.get()、cin.getline()、getline()、gets()函數(shù)的使用詳解
- c++中string類型和int類型相互轉(zhuǎn)換的幾種常用方法
- 詳解C++中實現(xiàn)繼承string類的MyString類的步驟
- 探究C++中string類的實現(xiàn)原理以及擴展使用
- C++ string類getline()用法實例詳解
相關(guān)文章
matlab遺傳算法求解車間調(diào)度問題分析及實現(xiàn)源碼
這篇文章主要為大家介紹了matlab遺傳算法求解車間調(diào)度問題解析,文中附含詳細實現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-02-02
C語言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié)
這篇文章主要介紹了C語言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié),分別為atoi()函數(shù)和atol()函數(shù)以及atof()函數(shù),需要的朋友可以參考下2015-08-08
詳解C語言編程中的函數(shù)指針以及函數(shù)回調(diào)
這篇文章主要介紹了C語言編程中的函數(shù)指針以及函數(shù)回調(diào),函數(shù)回調(diào)實際上就是讓函數(shù)指針作函數(shù)參數(shù)、調(diào)用時傳入函數(shù)地址,需要的朋友可以參考下2016-04-04
C語言操作符進階教程(表達式求值隱式類型轉(zhuǎn)換方法)
這篇文章主要為大家介紹了C語言操作符進階教程(表達式求值隱式類型轉(zhuǎn)換方法)2022-02-02

