inet_pton函数用法
时间: 2024-09-20 14:00:58 浏览: 93
详解inet_pton()和inet_ntop()函数
5星 · 资源好评率100%
`inet_pton`是一个网络编程函数,在Unix-like系统如Linux和macOS中,它用于将IPv4或IPv6的点分十进制表示形式(字符串)转换为对应的二进制数据结构(通常是`struct in_addr` for IPv4 和 `struct in6_addr` for IPv6)。它的基本用法如下:
```c
#include <netinet/in.h> // 包含inet_pton的头文件
int inet_pton(int af, const char *src, void *dst);
```
参数说明:
- `af`:地址族,通常为AF_INET(IPv4)或AF_INET6(IPv6)。
- `src`:输入的IP地址字符串。
- `dst`:指向存放转换结果的内存区域的指针。
函数返回值:
- 如果成功转换,返回1。
- 如果失败,返回0,并设置errno错误码(比如地址格式错误时会设置为EINVAL)。
使用示例:
```c
char ip_str[] = "192.168.1.1";
struct in_addr addr;
if (inet_pton(AF_INET, ip_str, &addr)) {
// 地址已转换成功,可以进一步处理addr
} else {
perror("Failed to convert IP address");
}
```
阅读全文