gpt4 book ai didi

c - 如何从 C 中的枚举中获取相对字符串值?

转载 作者:行者123 更新时间:2023-11-30 14:46:35 25 4
gpt4 key购买 nike

我有一个 C 枚举,如下所示:

typedef enum {
idle,
backup,
charge,
} ENUM_LUMI_STATE;

我有以下功能:

ENUM_LUMI_STATE controllerGetState(void) {
return idle;
}

我想在这里打印:

printf("the current status of the system is %s \r\n", controllerGetState());

结果是模糊的,正如您在此处看到的:

the current status of the system is þq st

我想打印系统当前的状态是“空闲”。能告诉我怎么做吗?

最佳答案

controllerGetState(void) 函数返回枚举而不是字符串。因此使用 %s 作为返回值将返回垃圾。您可以使用 %d 来获取该值,在本例中该值将为 0。

详细答案见How to convert enum names to string in c

关于c - 如何从 C 中的枚举中获取相对字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com