MFC inet_pton
时间: 2024-09-30 18:14:05 浏览: 42
VS2015-MFC-SOCKET DEMO亲测
`inet_pton()`是Windows Socket API中的一个函数,全称为“Internet Protocol Address to Network byte order Translation”。它用于将IPv4或IPv6的点分十进制形式转换成对应的网络字节顺序二进制表示。在MFC(Microsoft Foundation Classes)环境中,这个函数常用于处理网络地址。
当你需要在C++中从字符串格式(如"192.168.1.1"或"[::1]")创建`sockaddr_in`或`sockaddr_in6`结构体时,会用到`inet_pton`。例如,在设置服务器地址时,你需要这样做:
```cpp
struct sockaddr_in6 server_addr;
inet_pton(AF_INET6, "[::1]", &server_addr.sin6_addr); // IPv6 ::1 地址
```
或者
```cpp
struct sockaddr_in server_addr;
inet_pton(AF_INET, "127.0.0.1", &server_addr.sin_addr); // IPv4 127.0.0.1 地址
```
这个函数接受两个参数:第一个参数是地址家族,`AF_INET`代表IPv4,`AF_INET6`代表IPv6;第二个参数是输入的IP地址字符串,第三个参数是存储结果的地址结构体指针。如果转换成功,函数返回1;失败则返回0,并设置`errno`为`EAFNOSUPPORT`或`EINVAL`。
阅读全文