可能重复:
如何在 C++ 中的大端和小端值之间进行转换?
我想知道你将如何字节交换 32 位字
我有这些单词的巨大缓冲区,并且由于字节顺序,它们中的每一个都需要进行字节交换。
使用您的操作系统提供的功能(参见 Martin Beckett 的回答),或者,如果您出于兴趣正在寻找一种方法来执行此操作,您可能会对以下代码片段感兴趣:
x = (x & 0x0000FFFF) << 16 | (x & 0xFFFF0000) >> 16;
x = (x & 0x00FF00FF) << 8 | (x & 0xFF00FF00) >> 8;
使用 您的操作系统提供的htonl / ntohl