简介:getline函数是C++标准库中的一个函数,用于从输入流中读取整行文本。本文将详细介绍getline函数的用法和注意事项。
getline函数是C++标准库中的一个函数,用于从输入流中读取整行文本。它有两种形式,一种是头文件< istream >中的输入流成员函数,另一种是头文件< string >中的普通函数。
getline函数的第一个参数是一个输入流对象,通常使用std::cin或文件流对象等;第二个参数是一个字符串对象,用于保存读取的整行文本。
#include <string> // for std::string#include <iostream> // for std::istreamstd::istream& getline (std::istream& is, std::string& str);
在上面的示例中,我们使用getline函数从标准输入中读取一行文本,并将其保存到字符串变量line中。注意,读取的文本包括空格。
#include <iostream>#include <string>using namespace std;int main() {string line;getline(cin, line); // 从标准输入读取一行文本到line中cout << line << endl; // 输出读取的文本return 0;}
在上面的示例中,我们使用while循环和getline函数从标准输入中连续读取多行文本,并逐行输出。注意,循环将一直执行,直到遇到文件结束符(EOF)或输入错误为止。如果读取成功,getline函数返回true,否则返回false。因此,可以将getline函数的返回值用作while循环的条件。
#include <iostream>#include <string>using namespace std;int main() {string line;while (getline(cin, line)) { // 从标准输入读取一行文本,直到遇到EOF或输入错误为止cout << line << endl; // 输出读取的文本}return 0;}