前言
新手上手VS想必都会遇到这个问题,在使用scanf时会出现警告,或者直接报错导致程序终止的问题,今天我就向大家讲解一下如何解决这个问题。
1.问题
初识c语言的同学在使用VS编辑代码的过程中或许会遇到这样的问题:使用scanf输入编译器会发生像以下的报错
2.问题原因
这个报错意思是说在VS中使用scanf是不安全的,建议使用scanf_s,scanf_s他是由VS自主提供的,仅可在VS中使用。
3.如何解决
解决这个问题有两种方法:
- 使用VS提供的scanf_s代替scanf。(本人不推荐)
- 如下图所示在代码第一行加上 #define _CRT_SECURE_NO_WARNINGS 1让错误失效
那每次使用时都要加上这行代码,就会比较麻烦,这里博主告诉大家如何设置在VS中创建新项目时首行就有 #define _CRT_SECURE_NO_WARNINGS 1这行代码,做到一劳永逸。
4.如何设置
在电脑上找到newc++file.cpp这个文件,在文件中加上
#define _CRT_SECURE_NO_WARNINGS 1这段代码,可能大家大多数都无法直接找到newc++file.cpp这个文件,这里我推荐使用 Everything 这个软件查找,在浏览器中搜的就可以搜到。软件下载之后打开是
根据引导安装。
安装之后打开软件
在框内输入newc++file.cpp,就可以检索到文件
如果安装的是VS2022就在选择时选择带有2022标识的文件
点击文件右击鼠标点击打开路径
找到文件所在位置打开文件
打开方式选择记事本把复制到记事本中保存 #define _CRT_SECURE_NO_WARNINGS 1
替代原来文件
这时可能有人会显示没有权限
这时你可以把文件复制到桌面上(把文件复制一下放到有权限的地方),再次打开文件使用记事本保存,把更改后文件复制到原来newc++file.cpp路径下替换(找不到原路径可使用everything寻找,方法与以上相同)出现以下提示点击继续即可。
这时候就已经设置完成了,再次使用VS创建新项目时第一行就会出现#define _CRT_SECURE_NO_WARNINGS 1,这行指令了。
总结
本篇博客主要向大家介绍了如何解决VS中使用scanf发生报错或警告的情况,以上就是本期全部内容,希望可以帮到您。最后,感谢阅读!