Есть ли альтернатива inet_ntop / InetNtop в Windows XP? - PullRequest
7 голосов
/ 13 октября 2009

Я пытаюсь скомпилировать руководство beej по примерам сетевого программирования, но в Windows XP такой функции нет. Я использую mingw, если это что-то меняет.

Ответы [ 4 ]

9 голосов
/ 14 октября 2009

из слоя winsock: WSAAddressToString (ntop) и WSAStringToAddress (pton)

7 голосов
/ 13 октября 2009

Если вы имеете дело только с адресами IPv4, вы можете использовать inet_ntoa. Это доступно на Windows 2000 или позже. В противном случае вам придется либо потребовать Vista и более поздние версии, либо написать собственную функцию inet_ntop.

Вы также можете посмотреть на boost - boost :: asio имеет реализацию inet_ntop, которая работает в Windows: boost::asio::detail::socket_ops::inet_ntop. Вы можете увидеть исходный код здесь .

3 голосов
/ 07 июня 2013

Существует также функция inet_ntop в POSIX-совместимой библиотеке libc для Windows (PlibC) , которая была создана для переноса приложений POSIX в Windows. В онлайновой документации об этом нет примечаний, но она существует в файле inet_ntop.c как минимум с 2008 года (согласно дате файла).

const char * inet_ntop(int af, const void *src, char *dst, size_t size)
1 голос
/ 05 апреля 2017

вы можете использовать winsocket с mingw-64 на windows 7

#include <winsock2.h>
#include <windows.h>
#include <ws2tcpip.h>

linkwith

gcc showip.c -lws2_32

Цель: x86_64-w64-mingw32 Модель потока: win32 gcc версия 6.3.0 (GCC)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...