可能重复:
How do I convert between big-endian and little-endian values in C++?
我想知道如何字节交换32位字
我有一个巨大的缓冲区,由于字节顺序,每个字都需要进行字节交换。
答案 0 :(得分:5)
使用您的操作系统提供的功能(参见Martin Beckett的回答),或者,如果您正在寻找一种感兴趣的方式,您可能会对以下代码段感兴趣:
x = (x & 0x0000FFFF) << 16 | (x & 0xFFFF0000) >> 16;
x = (x & 0x00FF00FF) << 8 | (x & 0xFF00FF00) >> 8;
答案 1 :(得分:0)
使用您的操作系统提供的htonl / ntohl