中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

IP地址判斷有效性

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
#include "IPAddressValid.h"
#include <stdio.h>
#include <iostream>
using namespace std;

bool isOnePartValid(const char* cOnePartIPAddr, int len)//判斷一個(gè)字段是不是合法
{
    if (NULL == cOnePartIPAddr || len <= 1)
    {
        return false;
    }
    if ('0' == cOnePartIPAddr[0] && 2 != len)//以0開(kāi)頭的字段不為0非法
    {
        return false;
    }
    int ipAddr =0;
    int iCur = 0;

    while ('\0' != 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)
{
    // 請(qǐng)?jiān)诖颂帉?shí)現(xiàn)
    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 ('\0' != 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, 0, sizeof(char) * 128);
        int iOnePartCur =0;
        int onePartLen =0;
        while (i < end && '.' != pszIPAddr[i])
        {
            cOnePart[iOnePartCur] = pszIPAddr[i];
            iOnePartCur++;
            i++;
            onePartLen++;
        }
        cOnePart[iOnePartCur] = '\0';
        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;
}

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:使用md5加密字符串php代碼

下一篇:PHP實(shí)現(xiàn)的計(jì)劃(定時(shí))任務(wù)