inet_pton() 是一个用于将 IP 地址转换为二进制形式的函数。下面是一个简单的例子:
#include <stdio.h>
#include <arpa/inet.h>
int main() {
const char* ip_address = "192.168.0.1";
struct in_addr addr;
// 将字符串形式的 IP 地址转换为二进制形式
if (inet_pton(AF_INET, ip_address, &(addr.s_addr)) <= 0) {
printf("无效的 IP 地址\n");
return 1;
}
// 打印二进制形式的 IP 地址
printf("IP 地址(二进制): 0x%X\n", addr.s_addr);
return 0;
}
上述代码中,我们首先定义了一个字符串类型的 IP 地址 192.168.0.1
,然后创建了一个 struct in_addr
结构体变量 addr
。接着使用 inet_pton()
函数将字符串形式的 IP 地址转换为二进制形式,并存储到 addr.s_addr
中。最后打印出转换后的二进制形式地址。
请注意,此示例仅适用于 IPv4 地址。如果需要处理 IPv6 地址,请使用相应的函数和结构体(如 inet_pton()
和 struct in6_addr
)。
内容由零声教学AI助手提供,问题来源于学员提问