关于VS2013下inet_ntoa函数不能使用的问题

原创 2015年11月17日 16:00:30

突然发现在VS2013,64位的Windows系统中不能再使用老旧函数inet_addr(),inet_ntoa()等了。。

例如使用inet_ntoa()时,会报如下错误提示:

错误 1 error C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings d:\opencv program\tcpserver\tcpserver\server.cpp 31 1 TCPServer


对于该问题的较稳妥的解决方案如下:(该解决方案只针对windows,64位,vs2013)

在程序开始添加头文件:

      #include<WS2tcpip.h>


对于: inet_ntoa(addr2.sin_addr);

将其等价替换为

char sendBuf[20] = {'\0'};
inet_ntop(AF_INET,(void*)&addr2.sin_addr,sendBuf,16);


对于: addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");

等价替换为: inet_pton(AF_INET, "127.0.0.1", (void*)&addr.sin_addr.S_un.S_addr);

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于孙鑫课程第14课网络编程使用VS2013 inet_addr,inet_ntoa出现的问题

孙鑫视频14课网络编程用到主机地址和网络地址的转换出现了这样的问题 inet_addr()函数 源代码addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0...

VS2013 无法使用'inet_ntoa': Use inet_ntop() or InetNtop() instead or define

解决方法: 1 使用inet_ntop函数替代 或者 在适当位置 定义宏 #define _WINSOCK_DEPRECATED_NO_WARNINGS 2  文件的属性页----->“预处...

关于Socket编程中的inet_ntop、inet_pton和inet_ntoa、inet_addr

今天在VS2013中调试SOCKET编程时,遇到了点小问题: 问题代码为: inet_ntoa(addrClient.sin_addr); 生成错误消息为: error C4996: 'inet_nt...

VS2015/2013 无法使用'inet_ntoa': Use inet_ntop() or InetNtop() instead or define

解决方法: 1. 使用inet_ntop函数替代或者在适当的位置定义宏#define _WINSOCK_DEPRECATED_NO_WARNINGS 2. 文件的属性页----->“预处理器” --...

Linux 多线程同步与互斥

1.同步 同一个进程中的多个线程共享所在进程的内存资源,当多个线程在同一时刻同时访问同一种共享资源时,需要相互协调,以避免出现数据的不一致和覆盖等问题,线程之间的协调和通信的就叫做线程的同步问题, 线...

C/C++ socket编程教程之八:socket缓冲区和阻塞模式

socket缓冲区 每个 socket 被创建后,都会分配两个缓冲区,输入缓冲区和输出缓冲区。 write()/send() 并不立即向网络中传输数据,而是先将数据写入缓冲区中,再由TCP协议...

C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性

上节我们讲到了socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发送了多少次,都会尽可能多的接收数据。也就是说,read()/recv() ...

fork函数创建子进程,exec函数执行命令

fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进...

VS2015套接字编程时error C4996错误处理

在VS2015中进行套接字编程时, struct sockaddr_in ClientAddr; ClientAddr.sin_addr.S_un.S_addr = inet_addr("127.0....

C/C++ socket编程教程之七:回声客户端和迭代服务端客户端

所谓“回声”,是指客户端向服务器发送一条数据,服务器再将数据原样返回给客户端,就像声音一样,遇到障碍物会被“反弹回来”。 对!客户端也可以使用 write() / send() 函数向服务器发送...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)