博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
socket 编程时 vs2017 对 inet_addr 和 inet_ntoa 的报错
阅读量:4176 次
发布时间:2019-05-26

本文共 441 字,大约阅读时间需要 1 分钟。

用VS2017进行socket编程时,如下代码会提示报错。

  1. sockaddr_in serAddr;  
  2. clientService.sin_family = AF_INET;  
  3. clientService.sin_addr.s_addr = inet_addr("127.0.0.1");  
  4. clientService.sin_port = htons(8888);  

问题出现的原因是:

在VS2013以后的版本中,增加了inet_pton()、InetPton()之类的新函数,用于IP地址在“点分十进制”和“二进制整数”之间转换,并且能够处理ipv4和ipv6。而inet_addr是老函数,高版本VS在编译时默认使用了新函数,所以会报该错误。

问题的解决:

1、用所提示的新函数代替inet_addr函数。

2、修改VS配置,告诉它我就要旧函数,修改方法:项目->属性->C/C++->常规->SDL检查,将“是”改为“否”,即可。

修改VS配置后,再次运行代码,以警告⚠方式出现。

转载地址:http://wptai.baihongyu.com/

你可能感兴趣的文章
Spring框架的基本概念
查看>>
Spring Bean的配置方式及标注(Annotation)配置
查看>>
Spring框架事务管理之一:JavaEE事务与Spring事务
查看>>
java.lang.IllegalArgumentException: FacesContext must not be null 错误分析及解决
查看>>
Spring框架事务管理之四:Spring编程式事务
查看>>
JOSSO入门指南及其与WildFly AS 10的集成
查看>>
为WildFly AS 10中的Liferay Portal 6.2配置JOSSO Agent
查看>>
Spring ORM与Hibernate的集成开发详解
查看>>
WildFly AS 10中基于PicketLink的SAML SSO实现
查看>>
Spring AOP概述
查看>>
Apache Maven入门指南
查看>>
Apache Maven的插件概述
查看>>
Apache Maven项目提供的Archetype插件详解
查看>>
Apache Maven项目提供的Compiler插件详解
查看>>
Apache Maven项目提供的Ant插件详解
查看>>
Apache Maven项目提供的AntRun插件详解
查看>>
Apache Maven项目提供的EJB插件详解
查看>>
Apache Maven项目提供的JAR插件详解
查看>>
Apache Maven项目提供的WAR插件详解
查看>>
Apache Maven项目提供的EAR插件详解
查看>>