C++ 把枚举变量的名称,直接当字符串使用方法 字符串化符号 #
#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; }