当前位置:首页 C++ > 正文

c++cout输出到文件

作者:野牛程序员:2023-07-25 11:54:38 C++阅读 2639

在C++中,可以使用<fstream>头文件中的ofstream类将cout的输出重定向到文件。以下是一个示例代码:

#include <iostream>
#include <fstream>

int main() {
    std::ofstream outputFile("output.txt"); // 打开输出文件,如果文件不存在会自动创建

    if (outputFile.is_open()) {
        // 将cout的输出重定向到文件
        std::streambuf *coutBuffer = std::cout.rdbuf(); // 保存cout的缓冲区指针
        std::cout.rdbuf(outputFile.rdbuf()); // 将cout的缓冲区指针设置为文件的缓冲区指针

        // 现在所有输出都会被重定向到文件
        std::cout << "这行文字将被输出到文件.\\n";

        // 恢复cout的输出到控制台
        std::cout.rdbuf(coutBuffer); // 将cout的缓冲区指针设置回原来的指针

        // 此时的输出将再次显示在控制台
        std::cout << "这行文字将显示在控制台.\\n";

        outputFile.close(); // 关闭文件
    } else {
        std::cout << "无法打开文件!\\n";
    }

    return 0;
}

上述代码将输出一行文本到"output.txt"文件中,并且另一行文本将显示在控制台上。请注意,将cout的输出重定向到文件后,除非恢复cout的缓冲区指针,否则所有后续的cout输出都将继续写入文件中。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击