使用_CRT_SECURE_NO_WARNINGS,踩坑
_CRT_SECURE_NO_WARNINGS错误提示,解决办法
比如:严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4996 ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
下面给出这个问题的解决方案:
方法一:将原来的旧函数替换成新的 Security CRT functions。比如将sprintf改成sprintf_s
方法二:按照以下的操作屏蔽这个警告:
1. 在预编译头文件stdafx.h里或者该文件中最前面的地方定义下面的宏:
#define _CRT_SECURE_NO_DEPRECATE
(重点提示:一定要在没有include任何头文件之前)
如果没有放在有include任何头文件之后,程序依旧会报此错误,简直坑
2. 或声明 #pragma warning(disable:4996)
3. 更改预处理定义:
属性->配置属性->C/C++ -> 命令行: 增加:/D_CRT_SECURE_NO_WARNINGS