C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

错误原因

VS平台认为scanf函数不安全,要求换成scanf_s函数

解决方案

方案一:将scanf换成scanf_s[不建议]

将scanf换成scanf_s

但是,scanf_s函数只能在vs上使用,其他平台无法使用,故修改后代码无法移植,不建议

方案二:#define _CRT_SECURE_NO_WARNINGS

在头文件之前增加预处理器指令#define _CRT_SECURE_NO_WARNINGS

可使用以下方法,让后续所有项目自动添加此预处理器指令:

可在vs的安装路径下寻找newc++file.cpp文件,在此文件首行添加此预处理器指令#define _CRT_SECURE_NO_WARNINGS

方法三:设置预处理器

右键  ->  属性  ->  配置属性  ->  C/C++  ->  预处理器  ->  预处理器定义  ->  输入_CRT_SECURE_NO_WARNINGS

方法四:禁用安全检查

右键  ->  属性  ->  配置属性  ->  C/C++  ->  代码生成  ->  安全检查  ->  禁用安全检查(/GS-)

方法五:不进行SDL检查

右键  ->  属性  ->  配置属性  ->  C/C++  ->  常规  ->  SDL检查  ->  否(/sdl-)

posted @ 2024-10-04 13:00  EricsT  阅读(35)  评论(0编辑  收藏  举报