丢弃现有的printf语句并启用新添加的printf语句

时间:2013-03-13 17:22:07

标签: c

我想通过以下方法禁用许多现有的printf语句:

#define printf(...) {};

但我想定义一个仍然使用stdio printf的新myprintf语句。 我该怎么做?

1 个答案:

答案 0 :(得分:4)

使用:

#define myprintf (printf)

括号将禁用宏扩展。

#include <stdio.h>

#define printf(...) do {} while(0)
#define myprintf (printf)

int main() {
  printf("printf\n");
  myprintf("myprintf\n");
}

(不是说我会首先推荐#defining printf ...)

有关我使用do {} while(0)代替{}的原因的说明,请参阅Proper C preprocessor macro no-op