Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注+收藏,欢迎欢迎~~
💥个人主页:小羊在奋斗
💥所属专栏:C语言
我们在VS上使用 scanf 的时候编译器会报错,对此我在这里介绍一个一劳永逸的解决办法,希望能帮到同样面临这个问题的同学。
我们先来看一下这个错误及它的解释:
我们在VS中调用库函数scanf()的时候,基本都会出现上面的现象,在这里我们介绍三种方法来解决这个问题。
1.使用scanf_s(不推荐)
我们可以选择接受编译器的建议使用 scanf_s 来代替 scanf,这样就不会发生错误。
但是,scanf_s 和 scanf 的作用和用法是不尽相同的,在不同的编译器上可能不支持,因此这个方法不怎么好,不是长久之计。
2.使用_CRT_SECURE_NO_WARNINGS
我们再来看它报错的第二句话。为了让这个错误失效,可以使用 _CRT_SECURE_NO_WARNINGS 这个符号。
具体要怎么用呢?我们需要将 #define _CRT_SECURE_NO_WARNINGS 这句代码放在使用scanf函数的 .c 文件(源文件)的第一行。注意一定要放在第一行。
但是这样的话每次都要在源文件的开头加上这句代码这一步骤,显然有些繁琐,那有没有什么一劳永逸的办法呢?答案是有的,接下来我们来介绍第三种方法。
3.使用_CRT_SECURE_NO_WARNINGS(plus)
我们先来介绍一点原理,在VS上,.c / .cpp 文件新建的时候,其实是拷贝了newc++file.cpp的内容,如果在newc++file.cpp的文件中增加 #define _CRT_SECURE_NO_WARNINGS 这句代码,以后在新建 .c / .cpp 文件的时候就自动有这句话了,至此我们就实现了一劳永逸。
首先,我们需要借助Everything(在浏览器搜索下载即可)这个工具找到newc++file.cpp这个文件:
然后将这个文件拷到桌面(注意一定要拷一份到桌面,不要直接拖到桌面):
还是鼠标右键,选择在记事本中编辑,将这句代码复制保存(Ctrl+s),一定记得要保存:
保存过后,再将桌面上的文件拖回去,替换掉原文件。到这里就大功告成了。
我们新建一个文件试一下,如果步骤没问题基本上就成功了,我们可以看到文件的第一行就自动添加了这一句代码:
这小伙子真有趣,赶紧关注下~
点击跳转主页—> 💥个人主页:小羊在奋斗