#include "iostream"
using namespace std;
bool isVaildIp(char *ip)
{
char setions[4]; /*每段缓存*/
int dots = 0; /*字符.的个数*/
int slen = 0, len = 0; /*每段的长度*/
int i = 0; /*遍历*/
int num;
len = strlen(ip); /*ip长度*/
/*ip为空,ip第一个字符为'.',ip长度不在7-15位之内的则非法*/
if((ip == NULL) || (*ip == '.') || (len > 15) || (len < 7) || (*ip == '0'))return false;
/*ip遍历*/
for(i = 0, dots = 0, slen = 0; i < len; i++){
if(*(ip+i) != '.'){
/* 该字符不为'.' */
if((*(ip+i) < '0') || (*(ip+i) > '9'))return false;/*若该字符不在0-9之间,则ip非法*/
else{
slen++;
if(slen > 3)return false; /*若段长度大于3个字符,则非法*/
else{
setions[slen-1] = *(ip+i);
}
}
}
else{
/* 该字符为'.' */
if(++dots > 3)return false;/*ip总'.'字符大于3个,非法*/
else{
检查IP有效性
最新推荐文章于 2020-06-20 18:44:06 发布
本文主要探讨如何使用数据结构来检查一个给定的字符串是否符合IPv4或IPv6的地址格式,通过解析和验证每个部分的数值范围确保IP地址的有效性。
摘要由CSDN通过智能技术生成