Windows admite inet_pton
, que tiene una interfaz similar a inet_aton
(pero eso también funciona con direcciones IPV6). Solo proporciona AF_INET
como el primer parámetro, y de lo contrario funcionará como inet_aton
.
(Si puede cambiar la fuente de Linux, inet_pton
también funcionará allí).
Para ejecutar en Windows XP, puede probar esta comprobación:
#pragma comment(lib, "Ws2_32.lib")
sockaddr_in inaddr;
#ifdef _WIN32_WINNT 0x0501
inaddr.sin_addr.s_addr =inet_addr("10.10.10.10"); //for XP
#else
inet_pton(AF_INET, "10.10.10.10", &inaddr.sin_addr.s_addr); //for Vista or higher
#endif
Es el equivalente de Windows en lugar del equivalente de C++, pero probablemente desee inet_addr
, que creo que es anterior a inet_aton
y que admite Windows.
http://msdn.microsoft.com/en-us/library/ms738563.aspx
Ese artículo también enumera, en la sección "ver también", el conjunto completo de funciones con nombres detallados para manejar direcciones IPv6, etc.