问题:vs2015中编程时,遇到如下:

warning C4996: “fopen”被声明为否决的。

解释:微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一 下同样功能的函数,只不过进行了参数的检测,使用这些新的就可以了。不用特意记,每个函数在给出警告时都会告诉你相应的安全函数,注意一下警告信息就可以了,使用时再 查看一下MSDN。库函数改写例子:

 mkdir改写为 _mkdirfopen”改写为 fopen_sstricmp改写为 stricmp_s

解决:

1> 根据下面的warning提示:参见“fopen”的声明

消息:“This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”

 所以可以将函数按warning提示的第二句使用fopen_s函数即可:eg:FILE *pFile=fopen("1.txt", "w");改为:FILE* pFile;fopen_s(&pFile, "1.txt", "w");

2> 还是根据warning提示的地三句话:use _CRT_SECURE_NO_DEPRECATE

      项目|属性|配置属性|C/C++|命令行|附加选项,加入【/D

“_CRT_SECURE_NO_DEPRECATE” 】(注:加入中括号中完整的内容)

3> 降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低

警告级别(此法不推荐)

注:高度重视警告:使用编译器的最高警告级别。应该要求构建是干净利落的(没有警告)。理解所有警告。通过 修改代码而不是降低警告级别来排除警告。编译器是你的朋友。如果它对某个构造发出警告,这经常是说明你的代码中存在潜在的问题。成功的构建应该是无声无息的(没有警告的)。

warning C4996: “fopen”被声明为否决的相关推荐

  1. warning C4996: “strcpy”被声明为否决的解决办法

    VC2005中,使用了很多标准的C函数,比如fopen,strcpy之类的.编译时会出现警告,比如这个:          d:\xxxx.c(1893) : warning C4996: " ...

  2. warning C4996: 'fopen': This function or variable may be unsafe.(_CRT_SECURE_NO_WARNINGS)

    在 windows 平台下的 visual studio IDE,使用 fopen 等 CRT 函数(C runtime library(part of the C standard library) ...

  3. warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.

            使用VS2005以上版本(VS2005.VS2008.VS2010)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的警告提示:  引用内容       warning C ...

  4. warning C4996: 'strcpy'解决方法

    warning C4996: 'strcpy': This function or variable may be unsafe. Consider u 2011-04-25 14:51:18|  分 ...

  5. Tips:error C4996: 'GetVersionExA': 被声明为已否决

    问题描述: 调用GetVersionEx获取系统版本报错. error C4996: 'GetVersionExA': 被声明为已否决 解决方法: 1. #pragma warning(disable ...

  6. error C4996: ‘GetVersionExW‘: 被声明为已否决

    最近做的一个MFC项目中使用到了BtnST的第三方组件,由于使用的BtnST源代码比较旧,在用visual studio 2017 编译的时候,把原本支持Xp的功能去掉,重新编译马上就提示 BCMen ...

  7. error C4996: QString::SkipEmptyParts 声明已被否决

    最近升级QT版本,从QT5.12.9升级到QT5.15.2,编译有若干报错,其中一个是error C4996: QString::SkipEmptyParts 声明已被否决. 网上查阅资料发现,QT5 ...

  8. 配置OpenCV产生flann\logger.h(66): error C4996: ‘fopen': This function or variable may be unsafe问题

    转载自:http://guoming.me/%E9%85%8D%E7%BD%AEopencv%E4%BA%A7%E7%94%9Fflannlogger-h66-error-c4996-fopen-th ...

  9. error c4996: 'fopen' This function or variable may be unsafe如何解决

    1.问题描述 VS2013+OPENCV249,不止一次遇到以下类似错误: error C4996: 'fopen': This function or variable may be unsafe. ...

最新文章

  1. C++ ORM ODB 入门介绍(一)
  2. PHP自学3——在html的table标签中显示用户提交表单
  3. oracle表修改语句,Oracle的常用修改表及字段的语句
  4. 批量 材质 调整_寒霜引擎的PBR实践3.0(一)材质篇
  5. 【转】URL和URI的区别
  6. TortoiseSVN 配合 Beyond Compare 3 或 WinMerge 的设置
  7. 整理struct sockaddr和struct sockaddr_in
  8. oracle dg apply lag,Oracle数据库 DGbroker三种保护模式的切换
  9. 如何在不确定经济形势下把握好企业脉搏
  10. 跳出公式,看清全局,图神经网络(GCN)原理详解
  11. ojdbc7、8在maven环境中的配置异常及处理
  12. 网易云ncm文件转mp3
  13. 2017百度之星程序设计大赛 - 资格赛 1004
  14. python开发微信点餐_微信点餐平台开发 (一)
  15. 如何自己搭建外卖红包平台,操作外卖CPS佣金提成实现躺赚=
  16. Unity 代码实现锁定手机横屏
  17. PHP公众号商家收银台微信扫码付款支付源码
  18. 为什么RTC晶振频率是32768Hz
  19. java实现验证码时效,JAVA实现验证码
  20. 「eBay大赛专访特辑」第一轮淘汰在即!已经有同学出单$2500!

热门文章

  1. isis中央系统配置
  2. 带滤镜拍照的app_iPhone摄影师必备的几款滤镜APP
  3. 在ios8的设备上设置ikev2 按需连接×××, 与同时支持IKEv2和IKEv1的strongSwan ×××服务器...
  4. C51单片机使用3-数码管显示
  5. 图解订单系统从 0 到 1 的设计思路
  6. py2exe安装及使用方法
  7. 凯利讯半导体讲解金属膜电阻与碳膜电阻能不能互换?
  8. Pygame游戏飞机大战《星野守望》
  9. 做程序员一般都需要什么学历?大厂招不招低学历?你想知道的都在这里了
  10. [AWS] [Root User] 拥有一个AWS的根账号