为什么网络字节序转换只有长整型和短整型,没有int型?

htons把unsigned short类型从主机序转换到网络序
htonl 把unsigned long类型从主机序转换到网络序
ntohs 把unsigned short类型从网络序转换到主机序
ntohl 把unsigned long类型从网络序转换到主机序
上面有short和long,怎么没有int?

阅读 6.5k
1 个回答
uint32_t htonl(uint32_t hostlong);  // 注意 uint32_t 是针对 4 字节的
uint16_t htons(uint16_t hostshort); // 注意 uint16_t 是针对 2 字节的
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);

也就是说有API支持4字节2字节的字节序转换.
如果你需要8字节的字节序转换, 需要自己写接口.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进