原文链接:http://blog.csdn.net/xidianzhimeng/article/details/11457045
分类: VS使用学习 2013-09-09 08:37 24人阅读 评论(0)收藏 举报
vs2012 error 4996

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

在vs2012一下的版本是警告,但是在vs2012上编程了错误,在创建工程时的不同之处是有一个周期性安全检查,这个应该是为什么变成错误的原因吧。

解释:微软的警告,主要是那些都是C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了一下同样功能的函数,只不过进行了参数的检测,使用这些新的就可以了。不用特意记,每个函数在给出警告时都会告诉你相应的安全函数,注意一下警告信息就可以了,使用时再 查看一下MSDN。库函数改写例子:
    mkdir改写为 _mkdir
    fopen”改写为 fopen_s
    stricmp改写为 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" 】(注:加入中括号中完整的内容)

提倡使用这个方法,不可能去修改所有的源码,在vs2012下变成错误,下列方式就不适用了

3> Properties->configuration properties->c/c++->advanced->disable specific warnings中输入4996
       4> #pragma warning(disable:4996)

5> 降低警告级别:项目|属性|配置属性|C/C++|常规,自己根据情况降低警告级别(此法不推荐)

vs2012下 error4996相关推荐

  1. VS2012下安装OpenCV3.0.0的记要

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 步骤和原理可参考我之前写的博文VS2012下安装 ...

  2. 在vs2012下编译出现Msvcp120d.dll 丢失的问题

    之前在vs2012下编译一个opencv程序时,一直出现msvcp120d.dll文件丢失的提示信息,最初会在网上找dll下载,将其拖入系统文件夹再进行regsvr32命令操作,结果都没有解决错误,甚 ...

  3. Windows7+VS2012下OpenGL 4的环境配置

    系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Cap ...

  4. VS2012下基于Glut 矩阵变换示例程序2:

    在VS2012下基于Glut 矩阵变换示例程序:中我们在绘制甜圈或者圆柱时使用矩阵对相应的坐标进行变换后自己绘制甜圈或者圆柱.我们也可以使用glLoadMatrixf.glLoadMatrixd载入变 ...

  5. 利用CMake编译OpenCV-4.1.2源码,使其可以在VS2012下进行图像处理开发的记录(因缺少OpenBLAS未成功)

    目前,OpenCV已经发展到OpenCV4.X了. OpenCV是以CMake 作为项目架构系统的开源项目. 在OpenCV4中,只为我们CMake编译好了64位的适用于vc14(Visual Stu ...

  6. 最新版Duilib在VS2012下编译错误的解决方法

    svn了好几次最新版本的项目源代码, 在VS2012下编译老是出错, 改了后没记录, 结果又忘记, 所以在此记录下. 这个问题很普遍, 非常多的人遇到. 至于其它的示例Demo的错误则简单修改项目属性 ...

  7. VS2012下如何调试程序

    在软件开发周期中,测试和修正缺陷(defect与bug的区别:bug是缺陷的一种表现形式,而一个缺陷是可以引起多种bug的)的时间远多于写代码的时间.通常,debug是指发现缺陷并改正的过程.修正缺陷 ...

  8. vs12新建ajax,VS2012下WebService 的创建,部署和使用

    WebService,即Web服务,能使得运行在不同机器上的不同应用无须借助,专门的第三方软件或硬件,就可相互交换数据或集成. 第一次选择WebService,是为了替代数据库远程连接.我们都知道当S ...

  9. opencv在vs2012下重编译详细教程——解决按f11进入不了源代码

    最近用到opencv人脸识别的代码,想进源码看看实现过程,大家都知道opencv的源码在opencv/modules下,但是光看那么长的源代码实在麻烦,要是能在调试的时候按f11直接就能跟进内部代码就 ...

最新文章

  1. Spring : 征服数据库 (两)
  2. Linux日常运维--6
  3. 《快学 Go 语言》第 7 课 —— 冰糖葫芦串
  4. boost::math::chi_squared用法的测试程序
  5. 不能为虚拟电脑 ubuntu 打开一个新任务的解决办法
  6. 【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类...
  7. Ros简单程序编写及使用类Hello World
  8. 递归函数 二分查找法 的一些用法
  9. ubuntu上常用的软件安装
  10. 向量叉乘在永磁同步电机电磁转矩计算中的应用
  11. 30种已验证有效的WordPress博客网上赚钱方法
  12. python 将中文变为拼音_python如何使用pypinyin将中文转换为拼音,详细介绍
  13. vue3+TDesign实现表格序号递增(t-table)
  14. Vue解决跨域问题之Node反向代理
  15. Wince6.0nbsp;s3c6410触摸屏驱动分析
  16. 关闭自动降频 linux,iPhone如何关闭降频?iPhone手动关闭降频方法[多图]
  17. Qt多线程http下载器之一:仿百度网盘的http下载器
  18. 【深度学习】深度学习和经典统计学是一回事?
  19. [LiteratureReview]A survey of image semantics-based visual simultaneous localization and mapping....
  20. [CF796E Round#408 Div.2]Exam Cheating——[计数DP]

热门文章

  1. Xamarin只言片语4——Xamarin.Android百度地图绑定
  2. javaee后台适合用的编辑器插件
  3. 详解MySQL中EXPLAIN解释命令
  4. hibernate session的load和get方法
  5. Nginx配置参数说明
  6. git小乌龟一次性设置密码
  7. apt-get clean 清除 apt 的缓存
  8. py库: django (web框架)
  9. SD从零开始01-02
  10. Ajax Toolkit AutoComplete 几种用法