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

对于我关于堆栈溢出的第一篇文章:我们应该什么时候使用该htonl函数?我已经浏览了手册页。但是,我真的不明白何时以及如何使用它。

4

1 回答 1

8

Host TO N网络翻译。它确保32 位数据值的字节序对于网络传输是正确的(大字节序)ntohl-- N etwork TO Host -- 由接收器使用以确保端序对于接收器的 CPU 是正确的。留意htonsntohs处理 16 位,并且在某处可能会htonll处理ntohll64 位。

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

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

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

于 2015-05-22T01:12:07.407 回答