我必须在C语言中做类似的事情.它只在我使用char时有效,但我需要一个字符串.我该怎么做?
#define USER "jack" // jack or queen
#if USER == "jack"
#define USER_VS "queen"
#elif USER == "queen"
#define USER_VS "jack"
#endif
我必须在C语言中做类似的事情.它只在我使用char时有效,但我需要一个字符串.我该怎么做?
#define USER "jack" // jack or queen
#if USER == "jack"
#define USER_VS "queen"
#elif USER == "queen"
#define USER_VS "jack"
#endif
我不认为有一种方法可以完全在预处理器指令中进行可变长度字符串比较.不过,您或许可以执行以下操作:
#define USER_JACK 1
#define USER_QUEEN 2
#define USER USER_JACK
#if USER == USER_JACK
#define USER_VS USER_QUEEN
#elif USER == USER_QUEEN
#define USER_VS USER_JACK
#endif
或者你可以重构一下代码,改用C代码.