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

htons是将一个 unsigned short转为网络字节序,即big endian 
但是我在很多开源的socket程序中发现有些地方将一个int变量传递给了htons函数。这样没有问题吗?
还有,如果需要将传输的int型的数据转换为网络字节序,请问有用哪个函数? 

慕码人8056858
浏览 90回答 2
2回答

qq_花开花谢_0

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一下就好了啊

饮歌长啸

C语言只规定short <= int <=long int。具体还得看具体的编译器htons() host to network shorthtonl() host to network longntohl() network to host longntohs() network to host short
打开App,查看更多内容
随时随地看视频慕课网APP