将文件内容读入std::string
时间: 2023-11-14 11:05:11 浏览: 40
可以使用C++标准库中的fstream库来读取文件内容,并将读取的内容存储到std::string对象中。
下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream infile("example.txt"); // 打开文件
if (!infile) { // 判断文件是否成功打开
std::cerr << "Failed to open file.\n";
return 1;
}
std::string content((std::istreambuf_iterator<char>(infile)), // 从文件流中读取内容,并存储到std::string对象中
std::istreambuf_iterator<char>());
infile.close(); // 关闭文件
std::cout << "File content:\n" << content << std::endl; // 输出读取到的内容
return 0;
}
```
这段代码中,我们首先使用std::ifstream打开了一个名为example.txt的文件。如果文件打开失败,则会输出一条错误信息并返回1。
接着,我们使用std::istreambuf_iterator<char>来迭代读取文件内容,并将其存储到std::string对象中。这里的构造函数接受两个参数:第一个参数是文件流对象,第二个参数是文件流结束的迭代器。这样就可以将文件中的所有内容读取到std::string对象中了。
最后,我们关闭了文件,并输出读取到的内容。