IP地址判断有效性

IP地址判断有效性,第1张

概述IP地址判断有效性

下面是内存溢出 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地址判断有效性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存