📝前言
一些常用函数,在Visual Studio中默认会进行参数检查,使用#define _CRT_SECURE_NO_WARNINGS 1
可以禁止警告:
问题描述
关于scanf 函数被VS报告‘scanf’:这个函数或变量可能不安全。考虑使用scanf_s替代。要禁用警告信息,请使用 _CRT_SECURE_NO_WARNINGS
原因分析:
:原因是scanf函数是因为容易发生缓冲区溢出,就好比定义数组,进行多组输入,有可能会出现数组越界,为了提高代码的安全性,VS编译器会对scanf函数进行检测,并给出警告或错误。),而scanf_s函数是VS编译器提供的一种代替scanf的函数,scanf_s函数在读取字符串时会指定最大长度,从而避免缓冲区溢出问题,但是scanf_s不是C语言函数,可移植性小,建议使用C语言的scanf函数。
解决方案:
提示:这里填写该问题的具体解决方案:
一 .在第一行加上一句
# define _CRT_SECURE_NO_WARNINGS 1
二 .但是每次创建一个项目都要加在文件前面打一遍,会不会太麻烦了呢?下面有一种好方法,可以通过以下步骤完成:
1.下载一个小工具everything
2.下载安装好后,打开everything,在搜索框中输入newc++file.cpp 然后按下回车键
搜索可以看到该文件。
3.接下来我们只需找newc++file.cpp的路径,不需要找有多余的后缀,例如:上图的newc++file.cpp.lnk ;因此我们只需按照newc++file.cpp后面的路径打开文件夹 4.然后右击鼠标,用记事本打开,打把这句话粘贴进去,
# define _CRT_SECURE_NO_WARNINGS 1
点击文件保存,保存路径要和原来路径一样,目的是为了把原来的newc++file.cpp文件替换掉
此时替换后显示下图,说明没有替换成功
这个时候不用慌,你先点击确定,然后把newc++file.cpp 文件脱出桌面,再重新这句代码复制
# define _CRT_SECURE_NO_WARNINGS 1 • 1
粘贴进去,点击文件保存,然后把它拖进去替换,点击继续,接下来就可以替换掉了;
这个时候只要在VS里创建一个项目就可以自动添加
# define _CRT_SECURE_NO_WARNINGS 1
以后就不用再手动输入啦!
*(记得替换成功后桌面的**newc++file.cpp** 文件就可以删掉了) • 1
然后我们再添加一个文件,测试一下