【发布时间】:2011-09-09 08:48:19
【问题描述】:
可能重复:
IPv6 parsing in C
我需要检查字符串是否是 C++ 中的有效 IPv6 地址。
对于 C# here 和相当丑陋的正则表达式 here,有优雅的解决方案。
在 C++ 中有没有好的方法来做到这一点?
我目前正在使用它,但它在 Windows XP 上不起作用(inet_pton() 缺失):
unsigned char buf[sizeof(struct in6_addr)];
bool isvalid= inet_pton(PF_INET6, (const char *)addr, buf);
【问题讨论】:
-
getaddrinfo()(来自重复问题)如果您没有inet_pton(),则在 XP 中似乎可用 -
投票重新打开,因为链接的问题明确标记了 C,而这个问题标记了 C++。链接的 C 问题可能缺少一些答案,这需要 C++ 库,例如 boost。其实至少有一个option,它使用了boost::asio。
标签: c++ visual-studio-2008 windows-xp ip-address ipv6