详解getline函数
时间: 2023-10-18 10:10:22 浏览: 102
C++中getline()的用法详解
5星 · 资源好评率100%
getline函数是C++ STL库中的一个标准库函数,用于从输入流对象中读取一行字符串。其函数原型如下:
```c++
std::istream& getline(std::istream& is, std::string& str, char delim);
```
其中,参数`is`表示输入流对象,`str`表示接收输入的字符串变量,`delim`表示分隔符,它的默认值是`'\n'`,即换行符。
getline函数会从输入流对象中读取字符,直到遇到分隔符为止,然后将读取的字符存储到字符串变量中。最后,getline函数会返回输入流对象的引用,以便可以进行链式操作。
在读取字符串时,getline函数会自动忽略分隔符,并将其从输入流中删除。因此,即使输入流中包含多个分隔符,getline函数也只会读取一行字符串。
以下是一个示例代码,演示了如何使用getline函数从标准输入流中读取一行字符串:
```c++
#include <iostream>
#include <string>
int main() {
std::string str;
std::cout << "请输入一行字符串:" << std::endl;
std::getline(std::cin, str);
std::cout << "您输入的字符串是:" << str << std::endl;
return 0;
}
```
在执行该程序时,可以在控制台中输入一行字符串,程序会将该字符串读取到`str`变量中,并输出该字符串。
需要注意的是,在读取完一行字符串后,getline函数会将分隔符从输入流中删除。因此,如果后续要读取输入流中的其他内容,应该先使用`std::cin.ignore()`函数清除输入流中的残留字符。
阅读全文