30
จะแปลงตัวแปรประเภท enum เป็นสตริงได้อย่างไร?
จะทำให้ printf แสดงค่าของตัวแปรที่เป็น enum ได้อย่างไร? ตัวอย่างเช่น: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; และสิ่งที่ฉันต้องการก็คือ printenum(OS_type, "My OS is %s", myOS); ซึ่งต้องแสดงสตริง "Linux" ไม่ใช่จำนวนเต็ม ฉันคิดว่าก่อนอื่นฉันต้องสร้างอาร์เรย์ของสตริงที่มีดัชนีค่า แต่ฉันไม่รู้ว่านั่นเป็นวิธีที่สวยงามที่สุดที่จะทำหรือไม่ เป็นไปได้หรือไม่
128
c++
c
preprocessor
ansi-c