首页 > 代码库 > 判断一个字符串是否为合法IP
判断一个字符串是否为合法IP
输入任意一个字符串,判断是否为合法IP
1 bool IsIPAddress(const char * str){ 2 //先判断形式是否合法, 3 4 //检查是否只包含点和数字 5 for(int i = 0; str[i] != ‘\0‘; i++){ 6 if(!IsDigit(str[i]) && str[i] != ‘.‘) 7 return false; 8 } 9 10 //检查是否形如X.X.X.X11 int count = 0;12 for(int i = 0; str[i+1] != ‘\0‘; i++){13 if(IsDigit(str[i]) && str[i+1] == ‘.‘ )14 count++;15 } 16 if(count != 3)17 return false;18 19 //检查区间是否合法20 int temp = 0;21 int j = 0;22 for(int i = 0; str[i] != ‘\0‘; i++){23 if(str[i] != ‘.‘){24 temp = (temp * 10 * j + int(str[i] - ‘0‘));25 j++;26 }27 else{28 if(temp <= 255){29 temp = 0;30 j = 0;31 }32 else33 return false;34 }35 }36 37 //最后一个也要判断38 if(temp > 255)39 return false;40 41 //通过所有测试,返回正确42 return true;43 }
判断一个字符串是否为合法IP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。