VS 2015 C++预处理器 scanf() 使用出错问题
2017-03-20 17:42
651 查看
Visual Studio 2015
编译错误
【error C4996: 'scanf': This function or
variable may be unsafe. 】
warning C4996: 'fopen': This function
or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
warning C4996: 'strcpy': This function
or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
warning C4996: 'strcat': This function
or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.的解决方案
在VS 2015 中编译 C 语言项目,如果使用了 scanf() 函数,编译时便会提示如下错误: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. warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. |
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. |
下面给出这个问题的解决方案(后面几个同scanf()一样,不再作介绍):
方法:
1. 在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:
#define _CRT_SECURE_NO_DEPRECATE//关闭安全检查
2. 或声明 #param warning(disable:4996)
3. 更改预处理定义:
项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加:
_CRT_SECURE_NO_DEPRECATE
4.真正原因在与vs中的SDL检查。于是可以:右键单击工程文件-->属性(最后一个)--> c/c++ --->SDL 检查 ---> 否。或者在创建工程时把安全开发周期生命(SDL)检查的选取取消。
相关文章推荐
- 使用VS2015编译之前常用的输入scanf()会出错
- 关于VS2015中的code snippet无法使用的问题
- vs2015中编写C语言代码出现错误:提示scanf is not safe 问题解决办法
- 在vs2015中使用qt5出现中文乱码的问题
- vs2015编译 jrtp库使用过程中遇到的一些问题
- 使用vs2015打开以前版本的.sln工程不兼容的问题
- 解决vs2015使用fopen、fprintf等函数报错的问题
- 关于VS2015【电灯泡】的提示使用缺少的程序集功能消失了的问题
- vs2015 64位系统下使用mdb数据库问题
- MFC异步WSAAsyncSelect 在vs2015下编译出错的问题
- 关于vs2015的使用问题
- 使用VS2015编译Synergyd历程,解决Synergd.exe占用CPU高的问题
- vs2015使用向导创建SOUI项目问题记录
- VS2015中使用scanf()不报错的设置方法
- 今天使用VS2015遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- 【VS2015使用】VS2015新版小问题:无法打开包括文件stdio.h等
- c++中strcpy函数在VS2015无法使用的问题
- 使用vs2015 配置ionic+cordova 问题
- 使用vs2015打开以前版本的.sln工程不兼容的问题
- 解决vs2015使用fopen、fprintf等函数报错的问题