读书人

inet_pton 用以验证IP是否合法

发布时间: 2012-08-24 10:00:21 作者: rapoo

inet_pton 用来验证IP是否合法

inet_pton 用来验证IP是否合法

?

?

#include <arpa/inet.h>#include <stdlib.h>#include <stdio.h>#include <string.h>intinvalid_ipaddr (char *str){   if (str == NULL || *str == '\0')      return 1;   union   {      struct sockaddr addr;      struct sockaddr_in6 addr6;      struct sockaddr_in addr4;   } a;   memset (&a, 0, sizeof (a));   if (1 == inet_pton (AF_INET, str, &a.addr4.sin_addr))      return 0;   else if (1 == inet_pton (AF_INET6, str, &a.addr6.sin6_addr))      return 0;   return 1;}int main(int argc, char *argv[]){    if(argc <2 ){        printf("Useage %s IP\n", argv[0]);        exit(1);    }    if((invalid_ipaddr(argv[1]) == 0)){        printf("%s is ip\n", argv[1]);    }else{        printf("%s is invalid_ipadd \n",  argv[1]);    }}

?

?

#./test  "10.110.10.10"10.110.10.10 is ip# ./test  "10.110.10.1a"10.110.10.1a is invalid_ipadd # ./test  "10.110.10"   10.110.10 is invalid_ipadd 
?

读书人网 >编程

热点推荐