目录
如果你在VS编译器上使用scanf,而不是scanf_s,就会报错,如下所示:
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.
编译器想告诉你的是:scanf这个函数可能不安全,考虑使用编译器内自给的scanf_s这个函数来代替之。如果还是继续想用scanf函数且不想看到这个警告,请使用: _CRT_SECURE_NO_WARNINGS
。
用scanf_s函数,确实可以使程序顺利开始编译,但要知道scanf_s函数可是VS编译器自己提供的函数并非标准C提供的函数,也就是说只有VS编译器认识它其他编译器不认识!所以这就导致了你在VS上编写的代码无法在其他编译器上使用,除非你把scanf_s全部替换成scanf。
【一劳永逸法】
可以使得每次创建源文件的时候第一行始终存在:#define _CRT_SECURE_NO_WARNINGS
- 安装一个工具
everything
,网址everything。
这是一个可以快速搜索电脑本地文件的小软件,很快~
- 用everything搜索一个文件
newc++file.cpp
,右击选中它,点击打开路 - 用VS打开
- 在VS编译器内存入一句话:
#define _CRT_SECURE_NO_WARNINGS
,然后保存并退出。
这样就使得再次创建源文件的时候第一行始终存在:#define _CRT_SECURE_NO_WARNINGS
了。
【注意】
#define _CRT_SECURE_NO_WARNINGS一定要在第一行,否则还是会报错!