在 c 中,我在现有代码库中有以下内容:
#define MYVAR (1)
正如你所看到的,这是通过用括号括起来#define 来符合 C 中的良好实践(尽管我知道在这种情况下它没有区别,因为值不是表达式)。无论如何,我想在字符串化中使用它。当我这样做时:
#define STRINGIFY(x) #x
#define TO_STRING(x) STRINGIFY(x)
const char* mystring = TO_STRING(MYVAR) ;
结果字符串是“(1)”。我想消除括号而不做简单的事情:
#define MYVAR 1
无论如何在c中的字符串化过程中消除括号?