200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言判断IP地址是否合法

C语言判断IP地址是否合法

时间:2020-11-01 05:37:15

相关推荐

C语言判断IP地址是否合法

C语言判断IP地址是否合法

代码如下:

/** 函数功能:判断字符串是否为合法IP地址* 函数类型:立即函数,调用后立即生效。* 函数形参:*const char* ip:需要判断的字符串* 返 回 值:*true:IP地址合法正确* false:IP地址格式错误* 其他:* 1.*/bool isVaildIp(const char* ip){intdots = 0;//字符 . 的个数intsetions = 0; //ip每一部分总和(0-255)intstrnum = 0; //字符串长度记录if (NULL == ip || *ip == '.') //排除输入参数为NULL, 或者第一个字符为'.'的字符串 {return false; //格式错误}while (*ip) //字符串不为空{if (*ip == '.') //如果当前字符为点.则开始判断上一段是否合法在0~255之间{dots++; //字符 . 的个加一if (setions >= 0 && setions <= 255) //检查ip是否合法{setions = 0; //对上一段IP总和进行清零}else{return false;//格式错误,某一段数值不在0~255之间}}else if (*ip >= '0' && *ip <= '9') //判断是不是数字{setions = setions * 10 + (*ip - '0'); //求每一段总和}else{return false;//该字符既不是数字也不是点}ip++; //指向下一个字符if (++strnum>15) //3*4+3=15,IP地址字符串非结束符字符数最多15个{return false;//防止出现“1234567890987654321.”这种前面全是数字的字符串输入进来。}}/*判断IP最后一段是否合法*/if (setions >= 0 && setions <= 255){if (dots == 3) //防止出现:“192.168.123”这种不是三个点的情况{return true; //IP地址合法正确}}return false;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。