unigned char to enum

时间:2011-06-17 06:00:14

标签: c++ networking

我正在研究网络程序,我的线程池中有这个代码

unsigned char type = pdata[0];
Packet *packet = m_packetFactory->createInstance(type);

CreateInstance采用枚举类型来根据枚举变量创建数据包;

客户端正在使用java并序列化第一个字节

 final byte LOGIN_REQUEST = 1;
 .
 .
 bBuffer.put(LOGIN_REQUEST);

如何在枚举类型中获取此内容,以便将其传递给createInstance方法..提前感谢..

1 个答案:

答案 0 :(得分:3)

如果您确定数据有效,只需将其强制转换为枚举类型:

enum MyEnum{
  EXAMPLE_1 = 0,
  ...
};

char type = 0;
MyEnum etype = static_cast<MyEnum>(type);