簡體   English   中英

如何從C中的枚舉獲取相對字符串值?

[英]How to get relative string value from a Enum in C?

我在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());

如您在此處看到的,結果是晦澀的:

系統當前狀態為þqst

我要打印的系統當前狀態為“空閑”。 你能告訴我如何嗎?

controllerGetState(void)函數返回一個枚舉,而不是字符串。 因此,使用%s作為返回值將返回垃圾。 您可以使用%d來獲取值,在這種情況下,該值為0。

如何在C中將枚舉名稱轉換為字符串中給出了詳細的答案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM