C ++ concat名称的常量和变量

时间:2015-06-02 14:57:23

标签: c++ c macros constants concat

我的代码如下:

#define TEXT_EN "English"
#define TEXT_PL "Polish"

我有变量决定文本语言(char * lang =" _PL"或lang =" _EN"),所以我想在我的宏DISPLAY_TEXT(文本)中显示正确的文本

是否可以连接常量和上面变量的名称以获得正确的常量?例如:

DISPLAY_TEXT(TEXT ## lang)

1 个答案:

答案 0 :(得分:1)

不,不是。

您可以在编译时使用这两个字符串,然后使用##连接它们,或者只有一个或多个字符串仅在运行时可用,然后您必须使用strcpy / {例如{1}}。