inet_pton
是一个C语言函数,用于将人类可读的IP地址转换为二进制形式。它的原型定义如下:
#include <arpa/inet.h>
int inet_pton(int af, const char *src, void *dst);
参数说明:
af
:表示地址族(Address Family),可以是AF_INET
(IPv4)或者AF_INET6
(IPv6)。src
:表示输入的IP地址字符串。dst
:表示存储转换结果的缓冲区。
函数返回值:
- 如果转换成功,则返回1。
- 如果输入无效,或者不支持指定的地址族,返回0。
- 如果发生错误,返回-1,并设置errno来指示错误类型。
示例使用:
#include <stdio.h>
#include <stdlib.h>
#include <arpa/inet.h>
int main() {
const char *ip_address = "192.168.0.1";
struct in_addr addr;
if (inet_pton(AF_INET, ip_address, &(addr.s_addr)) <= 0) {
fprintf(stderr, "Invalid address or address family not supported.\n");
exit(EXIT_FAILURE);
}
printf("Binary IP: 0x%X\n", addr.s_addr);
return 0;
}
以上示例将IPv4地址”192.168.0.1”转换为二进制形式并打印输出。
内容由零声教学AI助手提供,问题来源于学员提问