bool isVaildIp(const char *ip) { int dots = 0; /*字符.的个数*/ int setions = 0; /*ip每一部分总和(0-255)*/ if (NULL == ip || *ip == '.') { /*排除输入参数为NULL, 或者一个字符为'.'的字符串*/ return false; } while (*ip) { if (*ip == '.') { dots ++; if (setions >= 0 && setions <= 255) { /*检查ip是否合法*/ setions = 0; ip++; continue; } return false; } else if (*ip >= '0' && *ip <= '9') { /*判断是不是数字*/ setions = setions * 10 + (*ip - '0'); /*求每一段总和*/ } else return false; ip++; } if (setions >= 0 && setions <= 255) { if (dots == 3) { return true; } } return false; }