一、inet_aton、inet_addr、inet_ntoa
- 这三个函数只适用于IPv4地址
- 头文件:#include<arap/inet.h>
1.点分十进制IP字符串-->网络字节序的二进制IP
- 功能:将参数1的点分十进制IP字符串转为网络字节的二进制IP,并传递给参数2
- 参数:1.点分十进制的字符串 2.网络字节序的IP结构体地址
- 返回值:成功返回1。否则返回0
- 功能:将参数的二进制字符串转为网络字节的二进制IP,并通过返回值返回
- 参数:十进制的字符串
- 返回值:成功返回网络字节的二进制。否则返回INADDR_NONE(IP地址32位全为1)
注意事项:
2.网络字节序的二进制IP-->点分十进制IP字符串
- 功能:将网络字节序的二进制IP转换为点分十进制的IP字符串,并通过返回值返回
- 参数:网络字节序的二进制IP
- 返回值:成功点分十进制的IP字符串
注意事项
二、inet_pton、inet_ntop
- 这二个函数即适用于IPv4地址,又适用于IPv6地址
- 头文件:#include<arap/inet.h>
1.点分十进制IP字符串-->网络字节序的二进制IP
- 参数:1.AF_INET或AF_INET6 2.点分十进制IP地址字符串 3.存放转换的网络字节序的二进制IP指针
- 返回值:成功返回1。输入的格式错误返回0。出错返回-1
2.网络字节序的二进制IP-->点分十进制IP字符串
- 参数:1.AF_INET或AF_INET6 2. 网络字节序的二进制IP指针 3.用来保存转换的点分十进制IP地址字符串 4.目标存储单元大小,避免函数溢出调用者的缓冲区
- 返回值:成功返回点分十进制字符串(就是参数3)。出错返回NULL