C++ htons(), htonl(), ntohs(), ntohl()详解

。_饼干妹妹 提交于 2019-12-07 20:44:42

将多字节整数类型的数据,从主机的字节顺序转化为网络字节顺序

#include <netinet/in.h>

uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

htonl就是把本机字节顺序转化为网络字节顺序。

所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低,低对高”(即一个数的高位字节存放于低地址单元,低位字节存放在高地址单元中)。但是计算机的内存存储数据时有可能是大尾顺序或者小尾顺序。

h---host 本地主机
to  就是to 了
n  ---net 网络的意思
l 是 unsigned long

"s"表示short,"l"表示long




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!