C++ getline函数用法

版权声明:小简原创 https://blog.csdn.net/qq_43469554/article/details/87619986

在C++中本质上有两种getline函数:
第一种:在头文件istream中,是iostream类的成员函数。
第二种:在头文件string中,是普通函数。

第一种: 在istream中的getline()函数有两种重载形式:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组(用于数组)中。即使还没读够n个字符,
如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。

例如:

char s[11];
cin.getline(s, 10);

第二种: 在string中的getline函数有四种重载形式:
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);
用法和上第一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型(用于string类型)的str中。
函数的变量:
is :表示一个输入流,例如 cin。
str :string类型的引用,用来存储输入流中的流信息。
delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’\n’,则终止输入。

例如:

string s;
getline(cin, s);

猜你喜欢

转载自blog.csdn.net/qq_43469554/article/details/87619986
今日推荐