列挙型の現在の値を出力できるワンライナーはありますか?
答え:
文字列として、いいえ。整数として、%d.
数えない限り:
static char* enumStrings[] = { /* filler 0's to get to the first value, */
"enum0", "enum1",
/* filler for hole in the middle: ,0 */
"enum2", "enum3", .... };
...
printf("The value is %s\n", enumStrings[thevalue]);
これは、ビット マスクの列挙などには機能しません。その時点で、ハッシュ テーブルまたはその他のより精巧なデータ構造が必要になります。