Способ конвертации имени элемента перечисления в строку |
Здравствуйте, гость ( Вход | Регистрация )
Способ конвертации имени элемента перечисления в строку |
kuler |
16.1.2009, 14:59
Сообщение
#1
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
есть enum EnThreadState {tsNone, tsGetEquipmentStringList}
хотелось бы чтобы в коде можно было получить строку (скажем char*) по элементу, то есть char* str = func(tsNone) и теперь str = "tsNone". Не знаете? |
|
|
Andrew Selivanov |
16.1.2009, 16:55
Сообщение
#2
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
Можно еще вот так (подсмотрено на http://stackoverflow.com/questions/201593/...-enum-to-string)
содержимое файлика colours.def
ну и сам код)
Ну и про макросы обобщим: # - в строку #@ - в char ## - слепить |
|
|
kwisp |
22.1.2009, 9:59
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
при использовании #define X(a, b ) #b строковые значения выводятся в ковычках, т.е. как записаны в colours.def Цитата color = "Red" color = "Gray" при использовании #define X(a, b ) b Цитата color = Red color = Gray классная штука. Сообщение отредактировал kwisp - 22.1.2009, 9:59 |
|
|
Текстовая версия | Сейчас: 26.11.2024, 4:14 |