struct sockaddr_in addr4 = {0};
if (0 == iRet)
{
//IP地址非法
}
其实,上面返回值,0,ip地址非法;1,函数inet_pton执行成功;其他,失败
这个方法也比较容易扩展对IPv6地址的判断,
但是不能用在xp及比xp低端系统上,可以用在vstart及比vstart高度系统版本上。
不能使用下面的方法来判断IP地址是否合法
unsigned long ulRet = inet_addr("10.166.39.110");
if (INADDR_NONE == ulRet)
{
//IP地址合法
}
else
{
//IP地址非法
}
因为inet_addr()对 “10.11” 、“255.255.255.255” 这样的ip无法判断是否合法