c - 将我的 "Defines"添加到 C 中的枚举中

标签 c enums c-preprocessor

我在 C 中有一些定义:

#define My_CheckButton_1 "Check1"
#define My_CheckButton_2 "Check2"
#define My_CheckButton_3 "Check3"

我想将所有 My_CheckButton_x 添加到一个枚举中,这样我就可以循环运行所有这些。

我该怎么做?

谢谢

最佳答案

枚举在C中具有整数类型,因此如果将它们移动到枚举中,您将不会得到字符串值,而是得到整数值。如果您需要字符串值,则需要一个函数来执行枚举到字符串的转换。它不一样,但也许使用数组可能是一种替代方法:

static const char *My_CheckButtons[] = {"Check1", "Check2", ... , "CheckN"};

当然,您仍然需要记住数组的大小。您还可以将两者结合起来,并使用枚举值作为字符串数组的索引。

关于c - 将我的 "Defines"添加到 C 中的枚举中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25737983/

相关文章:

c - C 中的 "private header"是什么?

macros - C 预处理器可以执行简单的字符串操作吗?

java - 使用 IAudioEndpointVolume

c 扫描文件夹中的新文件

c - Bresenham 的圆算法

ios - 如何将所有枚举值作为数组获取

MySQL 查询性能困境 : enum vs tables

c - 在 C 中迭代链表时空检查行为不正确

java - 如何控制生成的 JAXB 枚举

c - 自动编译所有 ifdef/ifndef 指令的工具