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

使用 printf 输出日志到文件
方法:
<code class="cpp">FILE *f = fopen("log.txt", "w");</code><code class="cpp">dup2(fileno(f), STDOUT_FILENO);</code>
<code class="cpp">printf("日志消息\n");</code><code class="cpp">fclose(f);</code>
示例:
<code class="cpp">#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;
}</code>优点:
缺点:
以上就是printf输出log到文件的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号