检测字符串是否是 点分十进制表示
int check_ip(const char *ip)
{
if( ip == NULL)
return -1;
unsigned int ip_arr[4] = {0};
char end_char = 0;
if( 4 != sscanf(ip,"%u.%u.%u.%u%c",
&ip_arr[0], &ip_arr[1], &ip_arr[2], &ip_arr[3], &end_char) )
return -2;
if( (ip_arr[0] > 0xff) ||
(ip_arr[1] > 0xff) ||
(ip_arr[2] > 0xff) ||
(ip_arr[3] > 0xff) )
return -4;
return 0;
}