getline()
是C++标准库中的一个函数,用于从输入流中读取一行文本,并将其存储到一个字符串变量中。其函数原型如下:
std::istream& getline(std::istream& is, std::string& str, char delim);
其中,参数is
是输入流对象,用于指定从哪个输入流中读取数据;参数str
是字符串变量的引用,用于存储读取到的文本;参数delim
是可选参数,用于指定分隔符,即当读取到分隔符时,该函数会停止读取,不再继续读取该行后面的内容。如果不指定分隔符,则默认使用换行符('\n')作为分隔符。
getline()
函数的返回值是输入流对象的引用,用于支持链式操作。
下面是一个简单的示例代码,演示如何使用getline()
函数从标准输入流中读取一行文本,并将其输出到标准输出流中
#include <iostream>
#include <string>
int main() {
std::string line;
std::getline(std::cin, line);
std::cout << "You entered: " << line << std::endl;
return 0;
}
在上述示例中,程序首先定义了一个名为line的字符串变量,用于存储读取到的文本。然后,程序调用getline()
函数从标准输入流(即键盘输入)中读取一行文本,并将其存储到line变量中。最后,程序输出读取到的文本到标准输出流(即屏幕)中。
需要注意的是,如果读取到的文本中包含空格或制表符等空白字符,getline()
函数会将其保留在字符串变量中。如果需要去除这些空白字符,可以使用字符串的成员函数erase()
和find_first_not_of()
进行处理。