LINUX.ORG.RU

История изменений

Исправление linuhs_user, (текущая версия) :

Мое решение.

#define PAST_ALL()\
    SET(ONE),\
    SET(TWO),\
    SET(THRE)

enum my_enum { 
#define SET(X) MY_ENUM_ ## X
    PAST_ALL();
};

static const char* const table[] = {
#define SET(X) #X
    PAST_ALL();
};

puts(table[MY_ENUM_TWO]); // "TWO"
Хз юзаю для тегов в своем браузере, а вот как String -> Tag быстро сделать не знаю.

Исправление linuhs_user, :

Мое решение.

#define PAST_ALL()\
    SET(ONE),\
    SET(TWO),\
    SET(THRE)

enum my_enum { 
#define SET(X) MY_ENUM_ ## X
    PAST_ALL();
};

const char* table[] = {
#define SET(X) #X
    PAST_ALL();
};

puts(table[MY_ENUM_TWO]); // "TWO"
Хз юзаю для тегов в своем браузере, а вот как String -> Tag быстро сделать не знаю.

Исходная версия linuhs_user, :

Мое решение.

#define PAST_ALL()\
    SET(ONE),\
    SET(TWO),\
    SET(THRE)

enum my_enum { 
#define SET(X) MY_ENUM_ ## X
    PAST_ALL();
};

const char* table[] = {
#define SET(X) #X
    PAST_ALL();
};

puts(table[MY_ENUM_TWO]); // "TWO"