inet_pton

112 阅读1分钟

inet_pton 是 C 语言中的一个函数,用于将文本格式的 IP 地址转换为网络字节序的二进制形式。这个函数支持 IPv4 和 IPv6 地址的转换,常用于处理套接字编程或存储套接字地址结构中的 IP 地址。

函数原型

int inet_pton(int af, const char *src, void *dst);
  • af:地址族,对于 IPv4 使用 AF_INET,对于 IPv6 使用 AF_INET6
  • src:指向要转换的 IP 地址字符串的指针。
  • dst:指向存储二进制结果的缓冲区的指针。

返回值

函数成功时返回 1,出错时返回 0,并设置 errno

使用场景

  • 存储套接字地址结构(如 sockaddr_in 或 sockaddr_in6)中的 IP 地址,用于绑定或连接套接字。
  • 输入验证,当从用户接受文本 IP 地址时。
  • 在二进制 IP 地址值上进行过滤或模式匹配,而不是字符串。