精华内容
下载资源
问答
  • 判断ip地址是否合法

    2021-03-09 19:44:47
    先输入n,表示输入n个测试用例,接下来的每一行都输入一串ip地址,然后判断ip地址是否合法,如果合法,输出“yes”,否则输出“no”。 代码: //判断ip地址是否合法 #include<iostream> #include<cstdio>...

    题目描述:
    先输入n,表示输入n个测试用例,接下来的每一行都输入一串ip地址,然后判断ip地址是否合法,如果合法,输出“yes”,否则输出“no”。

    代码:

    //判断ip地址是否合法
    #include<iostream>
    #include<cstdio>
    #include<string.h>
    #include<string>
    
    using namespace std;
    int main(){
        int n;
        scanf("%d",&n);
    
    while(n--){
            getchar();
      char c[30];
    gets(c);
    int j=0;
    int flag=1;
    int sum=0;
    for(int i=0;i<strlen(c);i++){
    
        if(c[i]=='.'){
            if(sum<0||sum>255){
                flag=0;
                break;
            }
            sum=0;
            j++;
    
        }
        else{
            sum=sum*10+(c[i]-'0');
        }
    
    }
    if(flag==1&&j==3&&sum>=0&&sum<=255){//最后一个数字需要在这里判断。
        printf("yes\n");
    }
    else{
        printf("no\n");
    }
    
    
    }
    
    
    return 0;
    }
    
    
    展开全文
  • 判断IP地址是否合法

    千次阅读 2014-04-26 11:54:43
    今天写了个判断IP地址是否合法的程序,主要是锻炼对字符串的处理,一些主要的约束条件如下: 1、输入IP为XXX.XXX.XXX.XXX格式 2、字符串两端含有空格认为是合法IP 3、字符串中间含有空格认为是不合法IP 4、类似...

    今天写了个判断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也算合法IP

    代码如下:

    #include <iostream>
    #include <string.h>
    
    using namespace std;
    
    
    bool isinteger(char ch)
    {
        if(ch>='0'&&ch<='9')
            return true;
        else
            return false;
    }
    
    int chtoint(char *p)
    {
        int data=0;
        while(*p!='\0')
        {
            data=data*10+*p-'0';
            p++;
        }
        return data;
    }
    
    
    bool isIPAddressValid(const char* pszIPAddr)
    {
        
        if(pszIPAddr==NULL)
            return false;
        int datalen=0,pointlen=0;
        int len=strlen(pszIPAddr)-1;
        cout<<len<<endl;
        if(len==-1)
            return false;
    
        char *temp=new char[len+1];
        int i=0,k=0;
    
        while(pszIPAddr[i]==' ')
            i++;
        while(pszIPAddr[len]==' ')
            len--;
        len++;
    
        while(i<len)
        {
    
            if(pszIPAddr[i]=='.')
            {
                pointlen++;
                if(pointlen>3||pointlen!=datalen)
                    return false;
                i++;
            }
            else
            {
                if(!isinteger(pszIPAddr[i])||pszIPAddr[i]==' ')
                    return false;
                while(i<len&&pszIPAddr[i]!='.')
                {
    
                     temp[k++]=pszIPAddr[i];
                     if(k==5)
                        return false;
                     i++;
                }
    
                temp[k]='\0';
                if(temp[0]=='0'&&k>=2)
                    return false;
                else
                {
                if(chtoint(temp)>=0&&chtoint(temp)<=255)
                    datalen++;
                else
                    return false;
                }
                k=0;
                if(datalen>4)
                    return false;
    
            }
    
        }
        if(datalen==4&&pointlen==3)
            return true;
        else
            return false;
    }
    
    int main()
    {
    
        const char* intputstr =" .0.0.1" ;
    
    	bool flag=isIPAddressValid(intputstr);
        cout<<flag<<endl;
        return 0;
    }
    


    展开全文
  • 主要介绍了Shell脚本判断IP地址是否合法的方法,需要的朋友可以参考下
  • 如何判断IP地址是否合法

    千次阅读 2017-09-22 09:53:15
    如何判断一个IP地址是否合法,以及如何判断一个IP地址...判断IP地址是否合法: bool isValidIP(char *ip) { if (ip == NULL) return false; char temp[4]; int count = 0; while (true) { int index = 0;
    如何判断一个IP地址是否合法,以及如何判断一个IP地址是否在给定的IP地址范围内,废话不多说,上代码
    


    判断IP地址是否合法:

    bool isValidIP(char *ip)
    {
    	if (ip == NULL)
    		return false;
    	char temp[4];
    	int count = 0;
    	while (true)
    	{
    		int index = 0;
    		while (*ip != '\0' && *ip != '.' && count < 4)
    		{
    			temp[index++] = *ip;
    			ip++;
    		}
    		if (index == 4)
    			return false;
    		temp[index] = '\0';
    		int num = atoi(temp);
    		if (!(num >= 0 && num <= 255))
    			return false;
    		count++;
    		if (*ip == '\0')
    		{
    			if (count == 4)
    				return true;
    			else
    				return false;
    		}
    		else
    			ip++;
    	}
    }




    判断一个IP地址是否在给定的IP地址范围内:

    bool IsIpInner(string strDesIp, string strBegin, string strEnd)
    {
    	char* tempDesIp = const_cast<char*>(strDesIp.c_str());
    	char* tempBegin = const_cast<char*>(strBegin.c_str());
    	char* tempEnd = const_cast<char*>(strEnd.c_str());
    	if (isValidIP(tempDesIp) && isValidIP(tempBegin) && isValidIP(tempEnd))
    	{
    		unsigned long lDesIp = GetIpInt(strDesIp);
    		unsigned long lBegin = GetIpInt(strBegin);;
    		unsigned long lEnd = GetIpInt(strEnd);;
    		return (((lDesIp >= lBegin) && (lDesIp <= lEnd)) || ((lDesIp <= lBegin) && (lDesIp >= lEnd)));
    	}
    	else
    		return false;
    }

    其中GetIpInt(string strIp)是将IP地址转化为可比较大小的整形数,如下:

    unsigned long GetIpInt(string strIp)
    {
    	char* tempIp = const_cast<char*>(strIp.c_str());
    	char *next_token = NULL;
    	char* ch1 = strtok_s(tempIp, ".", &next_token);
    	char* ch2 = strtok_s(NULL, ".", &next_token);
    	char* ch3 = strtok_s(NULL, ".", &next_token);
    	char* ch4 = strtok_s(NULL, ".", &next_token);
    	unsigned long a = stoi(ch1);
    	unsigned long b = stoi(ch2);
    	unsigned long c = stoi(ch3);
    	unsigned long d = stoi(ch4);
    	return a * 255 * 255 * 255 + b * 255 * 255 + c * 255 + d;
    }


    展开全文
  • 以字符串形式输入n行IP地址,格式为a.b.c.d,每个数字均在[0,255]之间,判断ip地址是否合法,是输出YES,否输出NO。 输入样例: 2 1.2.3.4 172.168.0.300 输出样例: YES NO 注意:string转int需要头文件: #include...

    以字符串形式输入n行IP地址,格式为a.b.c.d,每个数字均在[0,255]之间,判断ip地址是否合法,是输出YES,否输出NO。
    输入样例:
    2
    1.2.3.4
    172.168.0.300
    输出样例:
    YES
    NO

    注意:string转int需要头文件:

    #include <stdlib.h>
    
    #include <iostream>
    using namespace std;
    int main()
    {
        int n, number, len;
        int num=0;   //计数器
        int rcount=0;   //计算合法数字的个数
        string p, snum="";
        string adr[5];   //保存各个数字
        cin >> n;    //输入字符串的个数
        for(int i=0;i<n;i++)
        {
            cin >> p;
            len = p.size();
            for(int j=0;j<len;j++)
            {
                if(p[j]=='.')
                {
                    adr[num++] = snum;   //将合并的字符串存入数组
                    snum = "";
                }
                else
                    snum += p[j];   //字符合并为字符串
            }
            adr[num] = snum;   //将最后一个小数点后的数字存入
            if(num!=3)   //判断格式是否为a.b.c.d
            {
                cout << "NO" << endl;
            }
            else
            {
                for(int j=0;j<4;j++)
                {
                    number = atoi(adr[j].c_str());   //string转int
                    if(number>=0 && number<=255)   //判断数字是否合法
                        rcount += 1;
                }
                if(rcount == 4)
                    cout << "YES" << endl;
                else
                    cout << "NO" << endl;
            }
        }
        return 0;
    }
    
    展开全文
  • 最近在看tornado的源码,遇到了 is_valid_ip(ip) 这个函数,该函数用来判断一个IP地址是否合法,支持IPv4和IPv6,想到自己前阵子也遇到过这个问题,看着源码的解决方法要比自己的好多了,就摘抄下来,以留备用def is_...
  • linux下编写判断IP地址是否合法性bash脚本实例源码,做unix/linux下的开发,脚本编写的功力是少不了的,作为shell编程,也是博大精深的一个技术领域,这里为了学习,就写一个简单的判断IP地址是否合法的微型脚本程序...
  • 使用Java 怎么实现一个判断IP地址是否合法的功能发布时间:2020-11-20 16:11:47来源:亿速云阅读:94作者:Leah本篇文章为大家展示了使用Java 怎么实现一个判断IP地址是否合法的功能,内容简明扼要并且容易理解,...
  • 互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,...现在用户输入一个字符串(不含有空格)判断是否合法。import os,sysa=input()def ch...
  • C语言判断IP地址是否合法 IPv4地址是由四个0~255的整型数,中间以’.'隔开的字符串,最大为长度为15。 通过以上特征来鉴别是否是IPv4地址。整个字符串只能是由09的数字和’.‘组成,不能有其它字符。资格整数间嵌入...
  • 1.获取真正ip地址function get_ip(){//判断服务器是否允许$_SERVERif(isset($_SERVER)){if(isset($_SERVER[HTTP_X_FORWARDED_FOR])){$realip = $_SERVER[HTTP_X_FORWARDED_FOR];}elseif(isset($_SERVER...
  • 用C++Builder工具编写,实现判断ip地址是否合法,合法,根据子网掩码得出子网号。
  • 判断ip地址是否合法的函数

    千次阅读 2015-07-17 13:42:58
    //判断IP地址是否合法 int check_ip(char *ip) { int i = 0, count = 0; const char *s = "."; char TempIP[20]={0}; int IPAddr[4] = {0}; memcpy(TempIP, ip, sizeof(TempIP)); for(i = 0; i
  • 如何用C语言判断ip地址是否合法 用inet addr有问题
  • package others; import java.util.regex.Matcher;... * 判断IP地址是否合法 * @author YangXian * */ /* * 所有的一位数(1): \d * 所有的二位数(2): [1-9]\d * 1开头的三位数(所有)(3): 1\d{...
  • 1.获取真正ip地址function get_ip(){//判断服务器是否允许$_SERVERif(isset($_SERVER)){if(isset($_SERVER[HTTP_X_FORWARDED_FOR])){$realip = $_SERVER[HTTP_X_FORWARDED_FOR];}elseif(isset($_SERVER...
  • 弹窗判断IP地址是否合法,代码如下: import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 664
精华内容 265
关键字:

判断ip地址是否合法