可能重复:
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);
答案 0 :(得分:2)
您可以在Linux中使用getaddrinfo
,或者在Windows 2000中使用Windows。(请参阅该文档页面中标题为“使用AI_NUMERICHOST的示例代码”部分)
答案 1 :(得分:0)
您可以使用自Windows 2000以来可用的WSAStringToAddress
。