htonl函数是一个网络转换的函数,他把不确定的一个32位数字,转换成网络通用的32位数字,即大头在后的方式。
我们一般使用的计算机都是大头在后,也就是高地址在后面的形式。
比如你定义一个整型变量
int i = 0x12345678
然后在定义一个整型指针
int *p = &i;
假设p的地址是0x0012f2ec
那么在这个地址后4个字节都是这个整数,他的存放形式为
如果是大头前,也就是高地址在前,则存放形式为
0x0012f2ec:12 34 56 78
使用htonl函数后,他的存放形式就便为
0x0012f2ec:78 56 34 12
需要根据操作系统的不同确定你是否需要使用。
我们一般使用的计算机都是大头在后,也就是高地址在后面的形式。
比如你定义一个整型变量
int i = 0x12345678
然后在定义一个整型指针
int *p = &i;
假设p的地址是0x0012f2ec
那么在这个地址后4个字节都是这个整数,他的存放形式为
如果是大头前,也就是高地址在前,则存放形式为
0x0012f2ec:12 34 56 78
使用htonl函数后,他的存放形式就便为
0x0012f2ec:78 56 34 12
需要根据操作系统的不同确定你是否需要使用。