C语言 IP地址合法性判断 去除字符串首尾空格

导读:本篇文章讲解 C语言 IP地址合法性判断 去除字符串首尾空格,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、c语言地址合法判断

bool IsIPaddress_standard(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 <= j+1; k++)  
    {  
        IP1[m++] = *(pszIPAddr + k);  
    }       
    IP1[m] = '\0';  
    char *p = IP1;  
    while (*p!= '\0')  
    {  

        if (*p == ' ' || *p<'0' || *p>'9') return false;  
        cIP[n++] = *p; //保存每个子段的第一个字符,用于之后判断该子段是否为0开头  
        int sum = 0;  //sum为每一子段的数值,应在0到255之间  
        while (*p != '.'&&*p != '\0')  
        {  
          if (*p == ' ' || *p<'0' || *p>'9') return false;  
          sum = sum * 10 + *p-48;  //每一子段字符串转化为整数  
          p++;  
        }  
        if (*p == '.') {  
            if ((*(p - 1) >= '0'&&*(p - 1) <= '9') && (*(p + 1) >= '0'&&*(p + 1) <= '9'))//判断"."前后是否有数字,若无,则为无效IP,如“1.1.127.”  
               num++;  //记录“.”出现的次数,不能大于3  

            else  
              return false;  

        };  

        if ((sum > 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;
}

2、首尾去除空格

void trim(const char* strin,char* strout)
{
	int i=0,m=0,len_ip=0,j=0,k=0;
	
	while(strin[k++]==' ')
	{
		if(k==strlen(strin))
		{
			memset(strout,0,sizeof(strout));
			stpcpy(strout,"");
			return;
		}
	}
		
	len_ip=strlen(strin);
	j=len_ip-1;
	while(strin[i++]==' ');
	while(strin[j--]==' ');
	strncpy(strout,strin+(i-1),(j+1)-(i-1)+1);
	strout[j+1]='\0';
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96565.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!