首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

判断输入的字符是不是为IP地址,并且判断该IP是否合法

2012-08-07 
判断输入的字符是否为IP地址,并且判断该IP是否合法现在要做一个IP判断,对输入框中的字符判断是否为IP地址,

判断输入的字符是否为IP地址,并且判断该IP是否合法
现在要做一个IP判断,对输入框中的字符判断是否为IP地址,并且判断该IP是否合法。。。。。。。。。。。。求大神 谢谢

[解决办法]

C/C++ code
NAME       inet_pton - convert IPv4 and IPv6 addresses from text to binary formSYNOPSIS       #include <arpa/inet.h>       int inet_pton(int af, const char *src, void *dst);DESCRIPTION       This  function converts the character string src into a network address structure in the af address family, then copies the network address structure to       dst.  The af argument must be either AF_INET or AF_INET6.       The following address families are currently supported:       AF_INET              src points to a character string containing an IPv4 network address in dotted-decimal format, "ddd.ddd.ddd.ddd", where ddd is a decimal number of              up  to  three digits in the range 0 to 255.  The address is converted to a struct in_addr and copied to dst, which must be sizeof(struct in_addr)              (4) bytes (32 bits) long.       AF_INET6              src points to a character string containing an IPv6 network address.  The address is converted to a struct in6_addr and copied to dst, which must              be sizeof(struct in6_addr) (16) bytes (128 bits) long.  The allowed formats for IPv6 addresses follow these rules:              1. The  preferred format is x:x:x:x:x:x:x:x.  This form consists of eight hexadecimal numbers, each of which expresses a 16-bit value (i.e., each                 x can be up to 4 hex digits).              2. A series of contiguous zero values in the preferred format can be abbreviated to ::.  Only one instance of :: can occur in  an  address.   For                 example,  the  loopback  address 0:0:0:0:0:0:0:1 can be abbreviated as ::1.  The wildcard address, consisting of all zeroes, can be written as                 ::.              3. An alternate format is useful for expressing IPv4-mapped IPv6 addresses.  This form is written as x:x:x:x:x:x:d.d.d.d, where the  six  leading                 xs  are  hexadecimal  values  that define the six most-significant 16-bit pieces of the address (i.e., 96 bits), and the ds express a value in                 dotted-decimal notation that defines the least significant 32 bits of the address.  An example of such an address is ::FFFF:204.152.189.116.              See RFC 2373 for further details on the representation of IPv6 addresses.RETURN VALUE       inet_pton() returns 1 on success (network address was successfully converted).  0 is returned if src does not contain a character string representing  a       valid  network address in the specified address family.  If af does not contain a valid address family, -1 is returned and errno is set to EAFNOSUPPORT. 

热点排行