码迷,mamicode.com
首页 > 其他好文 > 详细

vs2013/2015中scanf函数类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误

时间:2017-08-04 17:35:38      阅读:416      评论:0      收藏:0      [点我收藏+]

标签:nsa   span   process   vs2013   cti   pre   war   ++   ide   

  在使用vs2015时,遇到了scnaf函数安全性的问题,程序不能正常运行,错误如下:

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.

 技术分享

经调试,发现这个错误的原因是:scanf等类似的函数已经不太安全,要想保证程序的安全性,建议以后采用_s结尾的安全版本,但是很多以前的程序可能还是使用不安全的版本,那么下面给出去掉这种错误提示的几种办法。

1:在VS中新建项目的时候去掉“安全开发生命周期(SDL)检查”即可将错误转变成警告,使得使用不安全版本也不影响编译和运行,如下图所示。

技术分享

(2)在头文件包含的最前面,记住是最前面(在include的前面)加上:#define _CRT_SECURE_NO_WARNINGS这个宏定义即可,如下图所示。

技术分享

(3):在编译的头文件最前面加上:#pragma warning( disable : 4996)即可,类似于上图。

(4):通过以下步骤Project properties->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions进入到预处理的定义中,点击按钮 (...),输入:_CRT_SECURE_NO_WARNINGS,使用 "\n" 相隔即可。

不过随着安全性的重要程度在逐步提高,还是建议大家以后使用安全版本。

 

vs2013/2015中scanf函数类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误

标签:nsa   span   process   vs2013   cti   pre   war   ++   ide   

原文地址:http://www.cnblogs.com/yibao/p/7286215.html

(3)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!