inet_ntop函数是一个用于将IPv4和IPv6地址从二进制格式转换为可读的字符串格式的函数。它接受三个参数:address_family(地址族,如AF_INET或AF_INET6),src(存储要转换的二进制地址的指针)和dst(存储转换后的字符串地址的缓冲区)。它返回一个指向结果字符串的指针,如果发生错误,则返回NULL。
例如,在IPv4情况下,可以使用以下代码来将二进制地址转换为点分十进制字符串:
#include <arpa/inet.h>
#include <stdio.h>
int main() {
struct in_addr addr;
inet_pton(AF_INET, "192.168.0.1", &addr);
char ip_str[INET_ADDRSTRLEN];
const char* result = inet_ntop(AF_INET, &addr, ip_str, INET_ADDRSTRLEN);
if (result != NULL) {
printf("IPv4 Address: %s\n", ip_str);
} else {
perror("Conversion failed");
}
return 0;
}
在IPv6情况下,可以使用类似的方法来进行转换。
内容由零声教学AI助手提供,问题来源于学员提问