Re: enum to string table
От: sc Россия  
Дата: 15.11.08 11:33
Оценка: 1 (1) +2
мне кажется прямо в лоб и реализовать


enum ReturnType
{
    RET_OK = 0,            // все хорошо
    ERR_IO,                // ошибка io с файлом
    ERR_SESSIONCLOSED,     // сессия закрыта
    ERR_DICONNECTED,       // отсутствие соединения с удаленным модулем
    ERR_CRC                // ошибка КС принатого пакета
};

char const* EnumToString(ReturnType rt)
{
    static char* ReturnTypeString[] = {
        "все хорошо",
        "ошибка io с файлом",
        "сессия закрыта",
        "отсутствие соединения с удаленным модулем",
        "ошибка КС принатого пакета"
    };
    STATIC_ASSERT(ERR_CRC == sizeof(ReturnTypeString) / sizeof(&ReturnTypeString[0]) - 1);
    return ReturnTypeString[rt];
}

char const* EnumToString2(ReturnType rt)
{
    switch(rt)
    {
    case RET_OK:             return "все хорошо";
    case ERR_IO:             return "ошибка io с файлом";
    case ERR_SESSIONCLOSED:  return "сессия закрыта";
    case ERR_DICONNECTED:    return "отсутствие соединения с удаленным модулем";
    case ERR_CRC:            return "ошибка КС принатого пакета";
    default:                 assert(!"Unexpected return type");
    };
    return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.