下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
#include "IPAddressValID.h"#include <stdio.h>#include <iostream>using namespace std;bool isOnePartValID(const char* cOnePartIPAddr,int len)//判断一个字段是不是合法{ if (NulL == cOnePartIPAddr || len <= 1) { return false; } if ('0' == cOnePartIPAddr[0] && 2 != len)//以0开头的字段不为0非法 { return false; } int ipAddr =0; int iCur = 0; while ('' != cOnePartIPAddr[iCur]) { if ('0'<= cOnePartIPAddr[iCur] && cOnePartIPAddr[iCur] <='9') { ipAddr = ipAddr*10 + cOnePartIPAddr[iCur]- '0'; } else { return false; } iCur++; } if (ipAddr >= 0 && ipAddr <=255) { return true; } else { return false; }}bool isIPAddressValID(const char* pszIPAddr){ // 请在此处实现 if (NulL == pszIPAddr) { return false; } int l = strlen(pszIPAddr); if (l <7 || l > 15) { return false; } int iCur =0; int iIpLen =0; while (' ' == pszIPAddr[iCur])//去除前面空格 { iCur++; iIpLen++; } int begin = iCur; while ('' != pszIPAddr[iCur]) { iCur++; iIpLen++; } int end = iIpLen; for (int i = iIpLen-1 ; i >= begin; --i)//去除字符串尾部的空格 { if (' ' == pszIPAddr[i]) { end--; } else { break; } } char cOnePart[128]; int count = 0; for (int i = begin; i <= end; i++) { memset(cOnePart,sizeof(char) * 128); int iOnePartCur =0; int onePartLen =0; while (i < end && '.' != pszIPAddr[i]) { cOnePart[iOnePartCur] = pszIPAddr[i]; iOnePartCur++; i++; onePartLen++; } cOnePart[iOnePartCur] = ''; onePartLen++; if (!isOnePartValID(cOnePart,onePartLen)) { return false; } else { count ++; } } if (4 == count ) { return true; } else { return false; }}int main(){ const char* pazIPAddress = "100.0.0."; bool isIP = isIPAddressValID(pazIPAddress); return 0;}
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的IP地址判断有效性全部内容,希望文章能够帮你解决IP地址判断有效性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)