VS经常提示函数不安全(报错、报警告),该怎么解决?

我们在运行代码时经常会报错------>This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

为什么会报错?

Snipaste_2021-03-22_10-31-33.png

遇到这种情况我们把#define  _CRT_SECURE_NO_WARNINGS 1 放在代码开头,

如图:Snipaste_2021-03-22_10-35-37.png

再次运行代码会发现不会再报错,由于考虑到每次新项目都重新加上这段代码,比较麻烦,我这里有一个永久在开头加上这段话的一个方法。

第一种方法:

一劳永逸的解决办法

可以让每一次新建的源文件中就包含这句代码。

方法:在VS的安装路径下搜索:newc++file.cpp这个文件,在文件中加上:

#define  _CRT_SECURE_NO_WARNINGS 1

以后创建的新的.c文件中都会自动有这句代码。

找到自己VS路径->在搜索框中搜索newc++file.cpp 回车

Snipaste_2021-03-22_10-44-49.pngSnipaste_2021-03-22_10-44-49.png

找到文件打开放入#define  _CRT_SECURE_NO_WARNINGS 1这句话保存,如果保存不上是因为权限不足,这里推荐在网页下载一个Notepad++

下载完成后右击如图所示打开,Ctrl+s保存,接下来我们在VS中创建.c源文件时自动加上这句话。
Snipaste_2021-03-22_10-49-44.png




第二种方法:

设置项目属性的预处理

右击解决方案的项目名称->属性

Snipaste_2021-03-22_10-54-23.png

配置属性->C/C++->预处理器

在预处理器定义处先加上一个分号在写入_CRT_SECURE_NO_WARNINGS    点击确认

Snipaste_2021-03-22_10-55-13.png

这种方法每一次项目都需要设置,比较麻烦不推荐。


第三种方法:

创建项目时选择Win32控制台应用程序

Snipaste_2021-03-22_10-59-59.png

如图设置完成之后点击完成,再次创建源文件写代码就不会安全报错

Snipaste_2021-03-22_11-01-01.png

个人比较推荐第一种方法

这是我总结的三种方法,希望对初学者有一定的帮助。

猜你喜欢

转载自blog.51cto.com/15107566/2668099
今日推荐