方法一:
完全当做字符串来解释:
(1)使用字符串分隔,然后判断分割后的字符是否合法
(2)
#include
#include
int a,b,c,d;
char s[100];
void main() {
strcpy(s,"123.1.2.3");
if (4==sscanf(s,"%d.%d.%d.%d",&a,&b,&c,&d)) {
if (0<=a && a<=255
&& 0<=b && b<=255
&& 0<=c && c<=255
&& 0<=d && d<=255) {
printf("[%s] is valid IPv4\n",s);
} else {
printf("[%s] is invalid IPv4\n",s);
}
} else {
printf("[%s] is invalid IPv4\n",s);
}
}
(3)正则表达式,python等脚本语言
二,直接调用函数inet_pton或者inet_aton,判断返回值