inet_ntop
是一个函数,用于将网络字节序的IP地址转换为可读的字符串格式。
其函数原型如下:
const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
参数说明:
af
:指定地址族,可以是AF_INET
(IPv4)或AF_INET6
(IPv6)。src
:指向存储地址的指针,可以是struct in_addr*
或struct in6_addr*
类型。dst
:存放结果字符串的缓冲区。size
:缓冲区大小。
函数返回值:
- 如果转换成功,返回指向结果字符串的指针(即
dst
参数)。 - 如果发生错误,返回 NULL,并设置 errno 错误码来表示具体错误信息。
下面是一个使用示例:
#include <arpa/inet.h>
#include <stdio.h>
int main() {
struct in_addr addr;
inet_pton(AF_INET, "192.168.0.1", &addr);
char buffer[INET_ADDRSTRLEN];
const char* result = inet_ntop(AF_INET, &addr, buffer, INET_ADDRSTRLEN);
if (result == NULL) {
perror("Failed to convert address");
return 1;
}
printf("Converted address: %s\n", result);
return 0;
}
以上代码将 IPv4 地址 “192.168.0.1” 转换为字符串形式并打印输出。
内容由零声教学AI助手提供,问题来源于学员提问