从字节数组中读取UINT

时间:2015-09-24 13:20:34

标签: c++

我正在尝试从一组字节中读取一些值

0D 01 00 02 43 AC 10 20 20 20 20 20 20 20 20 20 34 00 00 00

这个结构是

struct
{
 char Action;
 char Type;
 UINT Serial;
 byte Length;
 char* message;
}

我怎么读它?

我试着这样读:

int index = 2; // skip the first 2 bytes
byte Type = data[index];
UINT Serial = (UINT)((data[index++] << 24) + (data[index++] << 16)
    + (data[index++] << 8) + data[index++]);

byte Length = data[index++];
std::string Message(reinterpret_cast<char*>(data) + index, Length);

这是正常的,因为我收到了正确的消息," 4 "但是Serial为0,它不应该为零。

这里有什么不对,正在寻找一种阅读数据的方法。 (数据包)

0 个答案:

没有答案