#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;
}