C++中g(shù)etline()的用法詳解
getline()用法
getline是C++標準庫函數(shù);它有兩種形式,一種是頭文件< istream >中輸入流成員函數(shù);一種在頭文件< string >中普通函數(shù);
它遇到以下情況發(fā)生會導致生成的本字符串結(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é)束標記符)保存在s對應的數(shù)組中。即使還沒讀夠n個字符,
如果遇到delim 或 字數(shù)達到限制,則讀取終止,delim都不會被保存進s對應的數(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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- 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)文章
C語言中動態(tài)內(nèi)存管理初學者容易犯的6個錯誤分享
本篇文章主要介紹了初學者使用C語言中動態(tài)內(nèi)存管理的4個函數(shù)時最容易犯的6個錯誤,以及如何避免這些錯誤,文中的示例代碼講解詳細,感興趣的可以了解一下2023-04-04解析C++中四種強制類型轉(zhuǎn)換的區(qū)別詳解
本篇文章是對C++中四種強制類型轉(zhuǎn)換的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-05-05基于VC中使用ForceInclude來強制包含stdafx.h的解決方法
本篇文章是對VC中使用ForceInclude來強制包含stdafx.h的解決方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05