Как заставить printf показывать значения переменных перечислимого типа? Например:
typedef enum {Linux, Apple, Windows} OS_type;
OS_type myOS = Linux;
, а мне нужно что-то вроде
printenum(OS_type, "My OS is %s", myOS);
, в котором должна отображаться строка «Linux», а не целое число.
Я полагаю, сначала мне нужно создать индексированный по значениям массив строк. Но я не знаю, лучший ли это способ сделать это. Возможно ли это вообще?