在C 中,枚舉提供了一種便捷的方式來表示一組命名常數。但是,當列印枚舉值時,預設行為是顯示其數字表示形式。
假設我們有一個像這樣的枚舉:
如果我們嘗試使用列印枚舉值std::cout:
我們將得到數值0 而不是文字表示“ErrorA”。出現此問題的原因是 std::cout 缺乏將枚舉轉換為字串的內建支援。
1.使用映射
一種方法是建立一個將每個枚舉值與其文字表示關聯的映射:
2。使用結構數組進行線性搜尋
另一個選擇是使用結構數組,每個結構數組包含一個枚舉值及其文字表示形式,然後執行線性搜尋:
3。使用 switch/case
最後,我們也可以使用 switch/case語句:
測試解決方案:
為了測試這些解決方案,我們可以使用以下程式碼建立一個執行檔:
執行此可執行檔應輸出枚舉值的文字表示形式:
以上是如何在不使用 if/switch 語句的情況下將 C 枚舉值列印為文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!