温馨提示×

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

小亿
159
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的内容,并将内容打印到控制台上。

0