温馨提示×

C++如何读取整个文本文件到string中

小亿
521
2023-11-09 13:15:03
栏目: 编程语言

在C++中,可以使用std::ifstream来打开并读取整个文本文件到std::string中。以下是一个读取整个文本文件到std::string的示例代码:

#include <iostream> #include <fstream> #include <string> std::string readFileToString(const std::string& filename) { std::ifstream file(filename); if (!file.is_open()) { std::cerr << "Failed to open file: " << filename << std::endl; return ""; } std::string content((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>()); file.close(); return content; } int main() { std::string filename = "example.txt"; std::string content = readFileToString(filename); std::cout << "File content:\n" << content << std::endl; return 0; } 

在上述代码中,readFileToString函数接受一个文件名作为参数,并返回读取到的文件内容。函数首先尝试打开文件,如果失败则打印错误消息并返回一个空字符串。然后,使用std::istreambuf_iterator<char>从文件流中构造一个std::string对象,以读取整个文件内容。最后,关闭文件并返回读取到的文件内容。

在主函数中,示例代码使用readFileToString函数读取文件example.txt的内容,并将内容打印到控制台上。

1