Windows эквивалент Inet_aton - PullRequest
       16

Windows эквивалент Inet_aton

9 голосов
/ 11 марта 2010

Я конвертирую некоторый код, написанный для системы Linux, в систему Windows. Я использую C ++ для своей системы Windows и хотел знать эквивалент функции inet_aton.

Ответы [ 3 ]

11 голосов
/ 11 марта 2010

Это эквивалент Windows, а не C ++, но, вероятно, вам нужен inet_addr, который, как я считаю, предшествует inet_aton и который поддерживает Windows.

http://msdn.microsoft.com/en-us/library/ms738563.aspx

Эта статья также перечисляет в разделе «см. Также» полный набор функций с подробными именами для обработки адресов IPv6 и т. Д.

9 голосов
/ 11 марта 2010

Windows поддерживает inet_pton, интерфейс которого аналогичен inet_aton (но работает и с адресами IPV6). Просто укажите AF_INET в качестве первого параметра, и в противном случае он будет работать как inet_aton.

(Если вы можете изменить источник Linux, inet_pton также будет работать там).

1 голос
/ 05 июля 2016

Для запуска в Windows XP, вы можете попробовать эту проверку:

#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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...