inet_ntop()用法实例
时间: 2024-09-26 21:13:50 浏览: 58
`inet_ntop()`是一个在C语言中用于将网络地址从数字形式转换为人类可读的文本表示(如IPv4地址的点分十进制形式)的函数。它通常与`inet_addr()`配合使用,后者返回一个结构体表示IP地址。
这是一个简单的使用示例:
```c
#include <arpa/inet.h>
#include <stdio.h>
int main() {
struct in_addr ip; // 结构体存储IPv4地址
char ip_str[INET_ADDRSTRLEN]; // 存储转换后的字符串
// 设置IPv4地址
ip.s_addr = inet_addr("192.168.1.1");
// 转换并打印
if (inet_ntop(AF_INET, &ip, ip_str, sizeof(ip_str)) != NULL) {
printf("IPv4 address: %s\n", ip_str);
} else {
printf("Failed to convert IP address.\n");
}
return 0;
}
```
在这个例子中,`inet_addr()`首先把字符串"192.168.1.1"转换为一个32位的整数,然后`inet_ntop()`使用这个整数值生成对应的点分十进制字符串。
阅读全文