【发布时间】:2013-05-30 19:50:14
【问题描述】:
是否有一种方便的方法来获取字符串(由用户输入)并将其转换为枚举值?在这种情况下,字符串将是枚举值的名称,如下所示:
enum Day
{
Sunday = 0,
Monday = 1,
...
}
因此,如果用户给出 Day 的名称,它就能够将其解析为相应的 Enum 值。
诀窍是,我正在使用超过 500 个值,它们分布在多个枚举中。
我知道 c# 中的 Enum.Parse 方法,那么 c 中是否有这种形式?
【问题讨论】:
-
你想如何关联字符串和枚举?
-
字符串将是枚举值的名称。
-
简短回答:不,没有“方便”的方式,但您可能可以通过巧妙地使用宏来获得您想要的东西。见stackoverflow.com/questions/147267/…
-
你真的必须使用直C吗? std::map<:string day> 将是理想的。