C++ printf/std::cout如何重定向到日志文件中

在C++中,可以使用标准库中的头文件提供的ofstream类来打开文件,并使用std::freopen函数将stdout重定向到该文件。以下是一个示例代码,展示如何将printf输出重定向到日志文件中:

#include <cstdio>
#include <fstream>
 
int main() {
    std::ofstream logFile("log.txt", std::ios::out | std::ios::trunc);
    if (!logFile.is_open()) {
        // 处理错误
        return -1;
    }
 
    // 将stdout重定向到log.txt文件
    freopen("log.txt", "w", stdout);
 
    // 使用printf写入日志
    printf("这是一条日志信息。\n");
    printf("这是第二条日志信息。\n");
 
    // 关闭文件
    fclose(stdout);
    logFile.close();
 
    return 0;
}
posted @ 2024-07-25 10:18  guanyubo  阅读(205)  评论(0编辑  收藏  举报