C++判断IP地址字符串的合法性 您所在的位置:网站首页 云集是不是合法的 C++判断IP地址字符串的合法性

C++判断IP地址字符串的合法性

2023-11-25 07:46| 来源: 网络整理| 查看: 265

目前的解决方法可以归为以下三类:

1、自己动手写:以'.'将IP字符串分割成子串,再依次判断每个子串的每个字符是否都是数字,最后转换成值,判断是否在0~255的范围。

/* 功能: 判断IP地址是否有效 接口函数: booli sIPAddressValid ( const char * pszIPAddr ) 输入: pszIPAddr 字符串 输出: true 有效的IP地址,false,无效的IP地址 约束: 1.输入IP为XXX.XXX.XXX.XXX格式 2.字符串两端含有空格认为是合法IP 3.字符串中间含有空格认为是不合法IP 4.类似于 01.1.1.1, 1.02.3.4 IP子段以0开头为不合法IP 5.子段为单个0 认为是合法IP,0.0.0.0也算合法I */ #include #include using namespace std; bool isIPAddressValid(const char* pszIPAddr) { if (!pszIPAddr) return false; //若pszIPAddr为空 char IP1[100],cIP[4]; int len = strlen(pszIPAddr); int i = 0,j=len-1; int k, m = 0,n=0,num=0; //去除首尾空格(取出从i-1到j+1之间的字符): while (pszIPAddr[i++] == ' '); while (pszIPAddr[j--] == ' '); for (k = i-1; k = '0'&&*(p - 1) = '0'&&*(p + 1) 255) || (sum > 0 && cIP[0] =='0')||num>3) return false;//若子段的值>255或为0开头的非0子段或“.”的数目>3,则为无效IP if (*p != '\0') p++; n = 0; } if (num != 3) return false; return true; } void main() { char IP[] = " 254.1.1.1 "; //char IP[100]; //cin >> IP; bool tf = isIPAddressValid(IP); cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有