#include int main(void)
{int n;scanf("%d", &n);return 0;
}
将上述演示代码放到VS2010以及更新版本的VS系列编译器中,编译后会出现
warning C4996: 'scanf': This function or variable maybe unsafe. Consider using scanf_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
或者
error C4996: 'scanf': This function or variable may beunsafe. Consider using scanf_s instead. To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.
此方法是治标不治本的方法,适用于老项目,但是建议尽早改为对应的安全函数。具体操作方法如下:
项目->属性->配置属性->C/C++ -> 预处理器-> 预处理器定义,增加:
_CRT_SECURE_NO_DEPRECATE
以下是在VS2010中设置的具体图示:
编译一下,C4996(warning或error)消失了
此方法是治本的方法,但是难度较大,改动量也大,很多老项目改动量会更大。
1、在使用头文件之前,即源文件的第一行,添加一句代码
#define _CRT_SECURE_NO_DEPRECATE
演示程序如下:
#define _CRT_SECURE_NO_DEPRECATE
#include int main(void)
{int n;scanf("%d", &n);return 0;
}
编译一下,C4996(warning或error)消失了