cout << "Hello World !" << endl;
对于我在堆栈上的第一篇帖子溢出:我们什么时候应该使用htonl
函数?我已经阅读了手册页。但是,我并不真正了解何时以及如何使用它。
答案 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