c - 没有宏的静音 printf

标签 c

有没有一种方法可以在不使用任何宏的情况下有条件地使所有 printf 语句静音?我想在不触及现有代码的情况下完成静音,但在我的模块中添加一行,这将简单地禁用源代码中已经存在的所有 printf。

谢谢!

最佳答案

如果你想通过printfputsputchar等方式使所有输出到stdout的输出无效,你可以使用 freopen(3)将它重定向到一个位桶,例如:

// On Unix and Unix-like systems:
freopen("/dev/null", "w", stdout);
// On Windows:
freopen("NUL", "w", stdout);

关于c - 没有宏的静音 printf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990436/

相关文章:

c - 相对于标准代码测试 simd 加速的正确方法是什么

c - 在 C 中处理错误和释放内存的正确方法

c - 如何检查 ioctl 上的现有参数

c - 串口配置help.read()和write()返回-1并且串口通信停止。为什么?

c - 我需要在 C 中拆分代码以实现高斯消除法

c - 如何结束我的main函数?

c - 如何让openmp在子程序中正确运行(c语言)

c - 收割 child 意味着什么?

使用 strcasecmp 比较 C 中的 char*

c - pthread 竞争条件,可疑行为