0

我有经典

    #define SOME_CONSTANT value

有没有办法"SOME_CONSTANT"像 C# 一样获取字符串nameof(field)

编辑

我必须解析一个文件来寻找一些关键字:

#define KEY_A 1
#define KEY_B 2

int foo(char *s)
{
    if (strcmp(s, nameof(KEY_A)) == 0)
        return KEY_A;
    else if (strcmp(s, nameof(KEY_B)) == 0)
        return KEY_B;
    else
        return -1;
}

如果我调用foo("KEY_A")它应该返回 1

4

1 回答 1

2

由于没有其他人发布答案...

@palmis,我认为这是您正在寻求的解决方案。

#define NAMEOF(x) (#x)
于 2021-06-11T22:56:55.817 回答