inet_ntop
и inet_pton
не поддерживают зоны IPv6, поэтому рекомендуемые API-интерфейсы просто getaddrinfo
и getnameinfo
, которые удобно не зависят от версии IP.
Передайте флаги, такие как NI_NUMERICHOST
дляпринудительная проверка IP-адреса без разрешения DNS.
http://msdn.microsoft.com/en-us/library/ms738532(VS.85).aspx
пример:
char* input_str
struct addrinfo *result = NULL, hints;
ZeroMemory( &hints, sizeof(hints) );
hints.ai_flags = AI_NUMERICHOST;
hints.ai_family = AF_UNSPEC;
dwRetval = getaddrinfo( input_string, NULL, &hints, &result );
if ( dwRetval != 0 ) {
/* failure */
}