我可以用printf()显示枚举的值吗?

是否有一个单线程,让我输出枚举的当前值?
作为一个字符串,没有。作为整数,%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]);

这不适用于像位掩码枚举。在这一点上,您需要一个散列表或一些其他更精细的数据结构。

http://stackoverflow.com/questions/2161790/can-i-display-the-value-of-an-enum-with-printf

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:我可以用printf()显示枚举的值吗?