IPv4
#include <arpa/inet.h>
点分十进制数串(例如192.168.1.1) ===(转换)===> 32位网络字节序地址
int inet_aton(const char* strptr, struct in_addr *addrptr);
返回: 1----串有效
0----串有错
in_addr_t inet_addr(const char* strptr);
返回: 成功,32位二进制的网络字节序地址
失败,返回INADDR_NONE
32位网络字节序地址 ===(转换)===> 点分十进制数串
char *inet_ntoa(struct in_addr inaddr);
IPv4 & IPv6
#include <arpa/inet.h>
family为AF_INET/AF_INET6
点分十进制 ====> 网络字节地址
int inet_pton(int family, const char* strptr, void *addrptr);
返回: 1---成功
0---输入不是有效格式
-1--出错
网络字节地址 ====> 点分十进制
const char *inet_ntop(int family, const void *addrptr, char *strptr, size_t len);
返回: NULL 出错
本文转自cococo点点博客园博客,原文链接:http://www.cnblogs.com/coder2012/p/3468939.html,如需转载请自行联系原作者