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

使用 printf 输出日志到文件
方法:
打开一个文件描述符
FILE *f = fopen("log.txt", "w");
将 stdout 重定向到文件描述符
dup2(fileno(f), STDOUT_FILENO);
现在,所有打印到标准输出的内容(例如使用 printf)都会被写入文件
printf("日志消息n");
完成输出后,关闭文件描述符
fclose(f);
示例:
#include #include int main() { // 打开一个文件描述符 FILE *f = fopen("log.txt", "w"); // 将 stdout 重定向到文件描述符 dup2(fileno(f), STDOUT_FILENO); // 打印到 stdout printf("日志消息n"); // 关闭文件描述符 fclose(f); return 0;}
优点:
简单易用不需要额外的库
缺点:
不能控制日志级别只能输出到一个文件
以上就是printf输出log到文件的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1457476.html
微信扫一扫
支付宝扫一扫