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 地址值上进行过滤或模式匹配,而不是字符串。