C++ getline()函数详解
时间: 2023-10-12 07:33:16 浏览: 56
C++中的getline()函数是一个非常实用的函数,它可以从输入流中读取一行数据(一直读取直到遇到换行符或指定的终止符),并将这一行数据存储到一个字符串对象中。getline()函数的定义如下:
```c++
istream& getline(istream& is, string& str, char delim);
```
其中,is是输入流对象,str是接收输入数据的字符串对象,delim是用于标识输入结束的字符(默认为'\n')。
下面是一个使用getline()函数读取用户输入的示例:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string line;
cout << "Please input a line of text: ";
getline(cin, line); // 从标准输入流中读取一行文本
cout << "You input: " << line << endl;
return 0;
}
```
执行上述代码后,程序会提示用户输入一行文本,然后使用getline()函数读取用户的输入,并将其存储到字符串变量line中,最后输出line的内容。
另外,getline()函数还可以用于读取文件中的数据。下面是一个使用getline()函数读取文件数据的示例:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line;
ifstream infile("test.txt"); // 打开文件
if (infile.is_open()) { // 判断文件是否打开成功
while (getline(infile, line)) { // 逐行读取文件内容
cout << line << endl; // 输出每行内容
}
infile.close(); // 关闭文件
}
else {
cout << "Failed to open file!" << endl;
}
return 0;
}
```
执行上述代码后,程序会打开名为test.txt的文件,并逐行读取其中的数据,最后将每行的内容输出到控制台。如果文件打开失败,则程序会输出提示信息。