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-)