壬寅年 农历七月初五 公历:2022/8/2
解决scanf 的不安全警告问题
1.忽略警告(让警告失效)
在源文件的第一行输入 #define _CRT_SECURE_NO_WARNINGS 1
2.使用sanf_s代替(不建议)
scanf是C语言提供的
scanf_s不是标准C语言提供的,是VS编译器提供的,在使用其他的编译环境的时候(如:gcc)会发生错误(无法识别),因此在使用scanf_s 时会影响代码的跨平台性(可移植性)。
scanf、strcpy、strlen、strcat等函数都是不安全的,在使用了 #define _CRT_SECURE_NO_WARNINGS 1之后相关不安全警告都会忽略,当然在VS编译器当中也提供了对应的安全函数(如:strcpy_s、strlen_s、strcat_s)但也是不建议使用。
3、实现让VS编辑器默认在新建的源文件中第一行添加忽略警告的定义
首先找到 Microsoft Visual Studio 的安装位置
例如下图所示路径:
右键选择 编辑 newc++file.cpp 文件,在用记事本编辑过文件之后会出现因权限不够而无法保存编辑后的文件,这时候就通过Notepad++来进行文件的编辑操作。
右键选择 Edit with Notepad++,将#define _CRT_SECURE_NO_WARNINGS 1复制到文件中,再保存,首次编辑在保存时会提示权限不够,在弹出的窗口处点击确定后会重新启动Notepad++再次打开文件,权限提高之后便能够成功保存。