我需要确定一个特定的字符串是否是有效的IPv4或IPv6地址文字。如果我理解正确,在POSIX系统上正确的方法是使用
最坏的情况是,我可以编写一个函数来自行解析,但我更喜欢标准的系统函数,因此已经经过彻底测试并正确处理所有边角情况等。已经很糟糕了,微软不能像其他人一样声明
inet_pton
将其转换为网络地址结构并查看是否成功。Windows Vista及更高版本具有InetPton
,它基本上做了相同的事情。但据我所知,Windows XP没有声明任何一个,而我需要能够在XP上正确执行此操作。因此,问题是要使用什么系统函数来执行此操作?最坏的情况是,我可以编写一个函数来自行解析,但我更喜欢标准的系统函数,因此已经经过彻底测试并正确处理所有边角情况等。已经很糟糕了,微软不能像其他人一样声明
inet_pton
并使用InetPton
来代替他们更新的操作系统。