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

jso*_*n27 5 c++ htonl

cout << "Hello World !" << endl;
Run Code Online (Sandbox Code Playgroud)

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

use*_*301 8

^ h OST TO ñ etwork翻译。它确保了尾数为32位数据值是正确的(大端)的网络传输。ntohl- ñ etwork TO ħ OST -用于由接收机来确保端序是用于接收器的CPU正确。留意htonsntohs处理 16 位,并且在某些地方可能htonllntohll64 位。

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

uint32_t inval = 0xAABBCCDD;
uint32_t outval = htonl(inval);
Run Code Online (Sandbox Code Playgroud)

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