为了账号安全,请及时绑定邮箱和手机立即绑定

现在是自己编写函数来转换,既然有htons函数,应该也有相应的将 int 转变为网络字节序的函数吧?

现在是自己编写函数来转换,既然有htons函数,应该也有相应的将 int 转变为网络字节序的函数吧?

慕码人8056858 2023-03-19 22:18:32
htons是将一个 unsigned short转为网络字节序,即big endian 但是我在很多开源的socket程序中发现有些地方将一个int变量传递给了htons函数。这样没有问题吗?还有,如果需要将传输的int型的数据转换为网络字节序,请问有用哪个函数? 
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

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

这种时候你main一下就好了啊

查看完整回答
反对 回复 2023-03-22
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

C语言只规定short <= int <=long int。具体还得看具体的编译器
htons() host to network short
htonl() host to network long
ntohl() network to host long
ntohs() network to host short

查看完整回答
反对 回复 2023-03-22
  • 2 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信