我一直在开发一个遗留的 C++ 应用程序,并且绝对超出了我的舒适区(一件好事)。我想知道是否有人愿意给我一些指示(双关语)。
我需要将 unsigned char 数组中的 2 个字节转换为 unsigned short。字节是连续的。
例如,我正在尝试做的事情:
我从套接字接收一个字符串并将其放在一个无符号字符数组中。我可以忽略第一个字节,然后接下来的 2 个字节应转换为无符号字符。这将仅在 Windows 上,因此没有 Big/Little Endian 问题(我知道)。
这是我现在所拥有的(显然没有工作):
//packetBuffer is an unsigned char array containing the string "123456789" for testing
//I need to convert bytes 2 and 3 into the short, 2 being the most significant byte
//so I would expect to get 515 (2*256 + 3) instead all the code I have tried gives me
//either errors or 2 (only converting one byte
unsigned short myShort;
myShort = static_cast<unsigned_short>(packetBuffer[1])