我有这样的结构
typedef struct {
int32_t DataLen;
char Data[1];
} MTEMSG;
因此Data
包含DataLen
应按某些规则解码的符号。我应该写ReadInt
ReadString
等方法。
作为第一步,我想写ReadInt
. 从文档来看,这是“x86 CPU 格式的四个字节(小端字节在前)。” 我怎样才能转换char[1]
为int
?我想它应该是这样的:
MTEMSG* data;
int offset;
....
int Reader::ReadInt()
{
int result = // read 4 bytes starting from offset
offset += 4;
}
允许使用boost
and c++11
。只是寻找简单快速的转换方法。
我希望一旦你建议我如何转换int
,我可以自己做很多其他的方法。