何时以及如何使用C ++ htonl函数

时间:2015-05-22 00:59:09

标签: c++ htonl

cout << "Hello World !" << endl;

对于我在堆栈上的第一篇帖子溢出:我们什么时候应该使用htonl函数?我已经阅读了手册页。但是,我并不真正了解何时以及如何使用它。

1 个答案:

答案 0 :(得分:4)

H ost TO N etwork翻译。它确保32位数据的endian对于网络传输是正确的(Big endian)。接收器使用ntohl - N etwork TO H ost - 确保端接器对接收器的CPU是正确的。 密切关注htons和ntohs处理16位,并且在某处可能是64位的htonll和ntohll。

使用所有这些就像传入您想要转换的数字一样简单,并且输出转换后的数字。您可能会发现某些处理器上没有发生任何事情,因为它们的字节序已经很大了。

uint32_t inval = 0xAABBCCDD;
uint32_t outval = htonl(inval);

在大多数桌面硬件上,将导致outval设置为0xDDCCBBAA