检测是不是合法的 ip 字符串
2012-05-18 07:50:41 来源:WEB开发网核心提示:其中的 TakeOutStringByChar 函数 查看我共享的代码/* 是不是一个 ip 的字符串形式 例如 127.000.000.001 1.1.1.1 BY: SinCOder */bool is_ip_string(const char *str){ const char *pstr = s
其中的 TakeOutStringByChar 函数 查看我共享的代码 /* 是不是一个 ip 的字符串形式 例如 127.000.000.001 1.1.1.1 BY: SinCOder */ bool is_ip_string(const char *str) { const char *pstr = str; uint len = 0; uint dot_count = 0; // . 计数 while(*str) { if(!IS_CHAR_NUM(*str)) { if(*str == '.') { ++dot_count; if(dot_count > 3) return false; } else return false; } ++str; ++len; if(len > 16) return false; } if(dot_count != 3 || len < 7) return false; // 下一步就是过滤掉 127..222.222这样的字符 。。。 char buff[16] = {0}; int str_block_count = 0; while((pstr = TakeOutStringByChar(pstr,'.',buff,16))) { int i = atoi(buff); if(i<0 || i>255) return false; ++str_block_count; } if(str_block_count!=4) return false; return true; }
更多精彩
赞助商链接