#include <stdio.h>
#include <typeinfo>
#include <string>
using namespace std; enum type{FLASH, ONCE}; string Setstr(const char * val)
{
return val;
} #define enumtoCharArr(val) #val
#define enumtoStr(val) Setstr(#val) int main()
{
printf("%s\n",typeid(enumtoCharArr(FLASH)).name());//类型
string str = enumtoCharArr(FLASH);
printf("%s\n", str.c_str()); printf("%s\n",typeid(enumtoStr(FLASH)).name());//类型
str = enumtoStr(ONCE);
printf("%s", str.c_str()); getchar();
return 0;
}