前言
scanf函数是c语言提供的输入函数,在VS这个开发集成环境中,会被给出报错提醒。
![](https://img-blog.csdnimg.cn/img_convert/6fa5f0aa4381b1eb2b82de5d02ecb695.png)
例如上面这串我在VS中简单敲下的代码,在进行调试后,会给出以下报错:
![](https://img-blog.csdnimg.cn/img_convert/a95ce4e2c22dac7f3cfee7fb7513e2eb.png)
该串报错提醒的大概意思为:scanf这个函数是不安全的,考虑让我们使用“scanf_s”来进行替换。
当然,我们是可以按照它所说,将“scanf”替换成“scanf_s”,但是值得注意的是,scanf才是c语言中的函数,而scanf_s只是vs这个集成开发环境提供的,所以在其他的开发环境中,是没有办法正常使用的,如果替换使用scanf_s则会导致在其他环境中的不兼容性。
因此,我们按照第二种解决办法,在整个文件的第一行,写上一句代码:
#define _CRT_SECURE_NO_WARNINGS 1
当然,这样的办法并不是一劳永逸的,如果下次还想要使用scanf,则还需要再进行以上操作,那么有什么一劳永逸的办法吗?
当然有。
解决办法
首先,我们需要找到 newc++file.cpp这个文件所在的位置
![](https://img-blog.csdnimg.cn/img_convert/28cca06fb676d2f8bd7b10f409d55994.png)
(嗯…这个文件可能不是很好找到,我是利用everything这个应用进行的检索,方便了很多,如果有人需要,我也可以分享。)
接下来,我们使用记事本打开这个文件,随后将#define _CRT_SECURE_NO_WARNINGS 1输入进行,进行保存,就好啦!
![](https://img-blog.csdnimg.cn/img_convert/f23b7e64e994d4401ef5624d58d2b548.png)
最后,我们打开VS,就会发现第一行就出现了该串代码,完美~
![](https://img-blog.csdnimg.cn/img_convert/4efdedc186a28b1108b55e7d9d588cf8.png)