卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章74617本站已运行437

printf输出log到文件

通过打开文件描述符并重定向 stdout,可以将使用 printf 输出的日志写入文件中,步骤包括:打开文件描述符将 stdout 重定向到文件描述符使用 printf 打印日志关闭文件描述符

printf输出log到文件

使用 printf 输出日志到文件

方法:

  1. 打开一个文件描述符
FILE *f = fopen("log.txt", "w");
  1. 将 stdout 重定向到文件描述符
dup2(fileno(f), STDOUT_FILENO);
  1. 现在,所有打印到标准输出的内容(例如使用 printf)都会被写入文件
printf("日志消息n");
  1. 完成输出后,关闭文件描述符
fclose(f);

示例:

#include <stdio.h>
#include <unistd.h>

int main() {
    // 打开一个文件描述符
    FILE *f = fopen("log.txt", "w");

    // 将 stdout 重定向到文件描述符
    dup2(fileno(f), STDOUT_FILENO);

    // 打印到 stdout
    printf("日志消息n");

    // 关闭文件描述符
    fclose(f);

    return 0;
}</unistd.h></stdio.h>

优点:

  • 简单易用
  • 不需要额外的库

缺点:

  • 不能控制日志级别
  • 只能输出到一个文件
卓越飞翔博客
上一篇: 如何用printf输出文字
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏