前言:
小编在最近给别人安装VS2022的时候,忘记让他弄一段代码来解决VS不能使用scanf函数这个问题了,导致他编写代码的时候出错了,小编考虑到可能有一些读者朋友同样也会遇到这种问题,于是我就写下了这一篇文章来帮助一些刚刚接触编程的小白,废话不多说,教学时间到。
正文:
可能各位读者朋友在使用VS中会出现以下这种情况:
int main()
{
int a;
scanf("%d", &a);
printf("%d", a);
return 0;
}
想必很多读者朋友会出现这种情况,因为英文很多所以很多读者朋友会看不懂,其实简单来说,VS这个编译器它自己认为scanf是不安全的,所以它禁止我们去使用scanf函数,从而导致编译出错,针对这个问题,小编就给各位读者朋友两种解决方案。
首先我先声明一下,我不推荐这种解决方案。解决办法就是我们继续看编译报错的原因,VS推荐我们去使用scanf_s这个函数来代替scanf函数,乍一看,这个方法不还是挺好的?且听我信细细道来,虽说scanf_s和scanf函数功能是一样的,不过这个函数是C11推出来的,限制是很大的,有时候在读取字符串的时候可能会出现错误,因为它限制了字符串的长度,所以每次我们想要读取字符串的时候,还需要加一个长度来说明读取长度,非常的麻烦,所以小编不推荐使用这个函数,还是scanf函数比较好用,下面小编将会详细讲述解决方案二。
这个方案可以从根本上去解决scanf的问题,我们仅需在每次建立C/C++文件的时候加上这一句话就可以了,如下所示:
#define _CRT_SECURE_NO_WARNINGS
可能很多读者朋友会说每次写代码的时候,都需要加一遍这个,万一哪天忘记了不就麻烦了,如果真要每次都得写一遍的话,小编也是不推荐这个解决方案,我们仅需在一个文件中加上这一句话,就可以在我们每次建立C/C++文件的时候都有这一句话,下面开启教学时间:
首先,我们需要用到一个软件来辅助我们去找到相应的文件,它叫做everything,它的功能就是帮助我们去很快找到我们想要的文件,对于它的下载方式,小编先给出官方链接:Everything官方正版下载2024最新版官方下载 (belacad.cn) ,图标长这样:
之后我们在这里面搜newc++file.cpp,如下图所示,之后我们右击去找到它的对应位置:
之后我们右击这个文件,然后复制它到桌面,因为此时在桌面上我们有着最高的权限,可以对其内容进行更改:
右击它,打开方式选择记事本打开,之后加入下面这行代码:
#define _CRT_SECURE_NO_WARNINGS,之后保存它,然后在粘贴回到原来的路径。
此时我们就可以把这行代码放到了源文件中,此时每次我们创建源文件的时候都会有它,如下图所示:
如果你新建立的源文件有这行代码,那么恭喜你,成功的实现了这个操作,下面就可以放心大胆的去使用scanf函数了,这就是第二个解决方案我所教学的内容。
这篇文章到这也就结束了,很短,但小编认为这个文章会帮助那些刚刚接触VS系列这款编译器小白,能够帮助别人,我也知足了。如果方案二没有实现的读者朋友,也不要着急,仔细看一下小编上面教学的,如果还是不可以的话,那么请私信小编,小编会及时回复帮助你解决问题的,那么,我们下一篇文章见啦~