c语言 - 如何缩短条件"0"前缀的宏



我想这样做:

#if ID1 < 10
#define ID1_STR  "0" #ID1
#else
#define ID1_STR  #ID1
#endif

但是,我不想为每个"ID"重复此操作。 有没有办法我可以创建一些包装器,我可以在其中执行此操作:

WRAPPER(ID1)

不能使用预处理器完成,因为宏不可能扩展到一组预处理器指令(#if、#define 等)。 这就是做你所寻求的事情所需要的。

最新更新