gpt4 book ai didi

c++ - 'inet_addr' : Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS

转载 作者:IT老高 更新时间:2023-10-28 23:04:07 25 4
gpt4 key购买 nike

我正在使用 Visual Studio 2015 并尝试编译在我从 VS 2013 更新之前已经工作的代码。

'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS

在这段代码中:

partner.sin_addr.s_addr = inet_addr(ip.c_str());

我尝试使用提到的函数,但它们未定义。我试图在许多不同的地方定义宏,但什么也没发生。另一个线程说我应该包含 Ws2tcpip.h 而不是 WinSock2 并添加 Ws2_32.lib。我已经添加了库,当我使用包含时什么也没发生。怎么回事?!

最佳答案

只是为了使转换清晰。假设您的代码使用了已弃用的 inet_addr如本例所示:

RecvAddr.sin_addr.s_addr = inet_addr("192.168.1.1");

它可以转换为更新的 InetPton如下:

InetPton(AF_INET, _T("192.168.1.1"), &RecvAddr.sin_addr.s_addr);

_T宏可防止“const char 与 PCWSTR 不兼容”错误。

关于c++ - 'inet_addr' : Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36683785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com