仅在错误期间创建日志文件

标签 c

我正在使用

记录错误消息
#define LOG_INFO(...) do{ fprintf(fpLogFile, __VA_ARGS__ ); } while( FALSE )
#else
#define LOG_INFO(...) do{ } while ( FALSE )

并且 fpLogFile 使用 fopen 打开。 即使没有错误,fopen 也会创建 0KB 文件。

如果创建了一个 0KB 文件,就会触发一个作业。因此,我只想在出现错误时创建日志。

如何使用 fopen 实现此目的,还有其他方法吗?

最佳答案

设置fpLogFileNULL,并且在每个fprintf之前,检查它是否仍然是NULL。如果是,请打开文件。

关于仅在错误期间创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41694188/

相关文章:

c - c全局变量使用中的键盘中断句柄

c - '-c' 选项在 GCC 中有什么作用?

c++ - 什么是n = n ^ 1U << i?

c++ - 解方程。计数 (x,y)

在 C 中连接字符串文字

c - 在 C 中访问进程的 PCB

c - gdb核心转储警告: Can't open file/memfd:magicringbuffer (deleted) during file-backed mapping note processing

c - 数组到指针与二维数组

c++ - 跳过第 3 方库中的 #define

c++ - 如何找到指针使用的字节数?