在Windows XP中是否有替代inet_ntop / InetNtop?

我试图编译beej的networking编程实例的指南,但Windows XP没有这样的function。 我正在使用mingw,如果它有任何区别。

Solutions Collecting From Web of "在Windows XP中是否有替代inet_ntop / InetNtop?"

如果您只处理IPv4地址,则可以使用inet_ntoa 。 它在Windows 2000或更高版本上可用。 否则,你将不得不要求Vista或更高版本,或者编写你自己的inet_ntop函数。

你也可以看看boost – boost :: asio有一个在Windows下工作的inet_ntop实现: boost::asio::detail::socket_ops::inet_ntop 。 你可以在这里看到源代码。

从winsock层:WSAAddressToString(ntop)和WSAStringToAddress(pton)

Windows(PlibC)库中的POSIX兼容libc中也有inet_ntop函数, inet_ntop函数库是为了将POSIX应用程序移植到Windows而创建的。 在线文档中没有关于它的注释,但至少自2008年(根据文件日期)至少存在于inet_ntop.c文件中。

 const char * inet_ntop(int af, const void *src, char *dst, size_t size) 

你可以在windows 7上使用mingw-64的winsocket

 #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)