如何缩短条件的宏#" 0"前缀

时间:2015-01-27 03:28:04

标签: c macros c-preprocessor

我想这样做:

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

但是,我不想为每个“ID”重复这个。有没有办法可以创建一些包装器,我可以这样做:

WRAPPER(ID1)

1 个答案:

答案 0 :(得分:1)

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