Linux(网络编程-基本用法):03---本地IP与网络IP转换

一、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

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/89111272