当前位置:  技术问答>linux和unix

谁有判断一个字符串是合法IP地址的函数

    来源: 互联网  发布时间:2017-01-14

    本文导语:  IP地址是“.”分开的字符串,如“xx.xx.xx.xx”,求判断IP地址是否合法的源码。我自己写了几个,都不太完备,如: //检查是否是合法的IP地址,是,返回0,否则,返回-1 int ip_addr_check(const char * str) {     int dot_nums...

IP地址是“.”分开的字符串,如“xx.xx.xx.xx”,求判断IP地址是否合法的源码。我自己写了几个,都不太完备,如:

//检查是否是合法的IP地址,是,返回0,否则,返回-1
int ip_addr_check(const char * str)
{
    int dot_nums, i, len;
    char temp;
    char * p;  
    dot_nums = 0;
    int sect, sect_len;
    char sect_str[20];

    if(str == NULL)
    {
        return -1;
    }
    p = str;
    sect_len = 0;

    if((len = strlen(str)) > 19)
    {
        printf("ip addr too long %dn",len);
        return -1;
    }

    for(i = 0; i  255 || ( sect_str[0] == ''))
           {
                printf(" %s  sect too largen",str);
                return -1;
            }
            
            dot_nums++;
            if(dot_nums > 3)
            {
                printf(" %s  too much dotsn",str);
                return -1;
            }
            else if( dot_nums == 3)
            {
                sect  = myaton(p);
                if(sect > 255 || (*p == ''))
                {
                    printf(" %s  sect too largen",str);
                    return -1;
                }
            }
        }else if(temp  '9')
        {
            printf(" %s  out of rangen",str);
            return -1;
        }
        else{
            sect_str[sect_len] = temp;
            sect_len++;
        }
        

    }

    if(dot_nums != 3)
    {
        printf(" %s  too %d dotsn",str , dot_nums);
        return -1;
    }

    return 0;
    
}



|
那你自己去编码呗,没有难度的东西,笔试题都是这玩意。

|

#define NON_ZERO_DIGIT(c) ( ((c) > '0') && ((c) = '0') && ((c)  15)
{
return false;
}
else 
{
int iDotCount = 0;
string::const_iterator iter = strIp.begin();
for (; iter  255 || iIp1 > 255 || iIp2 > 255 || iIp3 > 255)
{
return false;
}
return true;
}
}

|

int if_a_string_is_a_valid_ipv4_address(const char *str)
{
    struct in_addr addr;
    int ret;
    volatile int local_errno;

    errno = 0;
    ret = inet_pton(AF_INET, str, &addr);
    local_errno = errno;
    if (ret > 0)
        //dprintf(""%s" is a valid IPv4 addressn", str);
        //printf(""%s" is a valid IPv4 addressn", str);
        ;
    else if (ret 

    
 
 

您可能感兴趣的文章:

  • java实现判断字符串是否全是数字的四种方法代码举例
  • 怎样判断一个字符串在另一个字符串里面?
  • 判断字符串中是否有汉字。。
  • 怎么判断一个字符串数组里是不是包含另一个字符串?
  • php判断字符串是否存在 php字符串检测代码
  • 请问如何判断一个字符串是否为空呀?
  • 编程技术其它 iis7站长之家
  • php判断字符串在另一个字符串位置的方法
  • 如何判断字符串的编码方式? (分多快抢啊)
  • 如何从java字符串中判断空格在第几位
  • php判断字符与字符串的包含方法属性
  • 帮帮忙!!!请问在javascript中判断字符串中包含某一特定字符
  • php如何判断字符串是否存在
  • php 判断字符串是否包含html标签
  • 怎么样判断字符串中是否有汉字?
  • 如何判断字符串是否相等?
  • 如何判断 字符串的编码方式
  • 怎么判断字符串的编码?
  • 请问如何判断字符串中的字符在a~z之间
  • 如何在字符串中判断是否含有某个字符?
  • 请问有没有办法判断一串字符串是否经过base64编码
  • java 的条件判断函数(类似于别的语言iif函数)
  • 判断文件格式的c库函数
  • 请教:在程序中创建文件夹,应该用什么函数?怎么判断文件夹存不存在呢?
  • 求判断某ip是否联通的函数或类linux c/c++
  • jquery浏览器判断函数代码
  • 如何用函数判断某个守护进程处入运行中
  • 有判断一个int是否是素数的函数吗?
  • js判断是否含有GBK以外的字符的函数
  • java里有判断一个点是否在一个多边形的里面的函数吗?
  • 用正则表达式判断字符串是汉字还是拼音的js函数代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql中如何判断当前是字符 mysql判断字段中有无汉字
  • 请问怎样判断一个字符是中文字符还是英文字符?(空)
  • 请问怎么实现判断TextField里输入的是int型整数还是字符串,或者其他的字符??
  • java判断日期字符是否有效(在线等待答案)
  • js正则判断非法字符限制输入
  • Java判断字符串为空、字符串是否为数字
  • c#判断字符是否为中文的三种方法分享(正则表达式判断)
  • 请问java如何判断中文字和字符,有没有这样的类或方法...
  • java 里怎样判断一个字符串为空?
  • 如何在脚本中判断一个字符串是否存在于一个文件中?
  • c#中判断字符串是不是数字或字母的方法
  • 怎样在脚本中判断字符串中的参数个数?
  • shell脚本中判断字符串匹配正则式的问题
  • 请大家帮忙,怎样判断字符串内部有没有空格,并能去掉它们?
  • php 判断字符串中是否包含html标签
  • 怎么用java script判断是用户输入的字符串内容是正确的日期格式
  • 如何实现判断一个字符串为null?
  • 请问如何判断一串字符是数字
  • java中一个逻辑判断字符串 (1&&0)如何转变成boolean值?
  • 请问有什么命令可以判断一个字符串是目录还是文件?
  • C++ Vectors 成员 empty():判断Vector是否为空(返回true时为空)
  • linux->shell-> if 条件判断,关于软连接的判断!
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • shell如何判断文件是否存在,如何判断变量是否为空
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • 在判断自符是否等于**时,用equals(“**”),那么如果我想判断它的值是否>=2该用什么呢?
  • 我是学pb的,判断闰年的是isdate("2-28"),但在java里怎么判断呢?
  • linux 下的自解压文件是什么格式,如何判断文件是否为自解压c++或者脚本判断均可
  • 知道TCP/UDP的包头,如何判断其应用层协议类型,struct tcphdr和 struct udphdr结构中那个变量能判断应用层协议类型。
  • 如何判断在线用户,主要是如何判断用户关闭所有窗口(即他已经不在线了)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3