记录一下,直接上代码:
#include <stdio.h>
#include <arpa/inet.h>
#define CHECK_IPV4 0
#define CHECK_IPV6 1
//有效返回1,其他无效(0 无效,-1 错误)
int IsValidIP(const char *ip, int type)
{
if (ip == NULL) return 0;
int result = 0;
if (type == CHECK_IPV4) {
struct in_addr s;
result = inet_pton(AF_INET, (char *)ip, (void *)&s);
} else if (type == CHECK_IPV6) {
struct in6_addr s;
result = inet_pton(AF_INET6, (char *)ip, (void *)&s);
}
return result;
}