相信很多小伙伴在第一次使用vs中的scanf输入一个数据时,都会出现以下警告:
咱们看第二个警告,它的意思是scanf这个函数不安全,考虑使用scanf_s这个函数替代。
那么怎么解决这个问题呢?
首先是不推荐使用scanf_s这个函数的,因为scanf_s这个函数是vs中的函数,并非是C语言规范中的,一旦我们使用这个函数写代码,当我们把这段代码放到别的编译器中时,有可能编译不过去,这就是我们通常所说的代码的移植性差。
那么我们要用scanf函数如何解决报错问题呢?
首先,找到下图画红圈部分,这就是vs为我们提供的解决方案
在源文件的最开头(注意,一定是最开头)写#define,加上一个空格,然后将上述画圈部分复制粘贴在后面即可。就像这样:
#define _CRT_SECURE_NO_WARNINGS 1
各位小伙伴直接复制粘贴在源文件的开头就可以了,至于为什么要在最后加上一个1,因为define函数使用来定义宏或者常量的,这里不必深入了解,当然,不加1也是没有问题的。
那么,有的小伙伴就说了,如果每次新建一个源文件都要来一通这样的操作,未免有点小麻烦,能不能有一劳永逸的方法呢?
当然有啦!
在自己的VS存储路径底下找到一个名为newc++file.cpp的文件
( 如果找不到的话,可以先下载一个叫做everything的软件,在里面搜索会相对快一些)
将其拖到桌面上(注意,原来的窗口不要关,否则就找不到原来的路径了),打开这个文件,将刚才的命令粘贴在里面,保存,再将修改后的文件放回去就可以啦。这样做以后,每一次打开一个源文件都可以自动将刚才的命令放在文件最上面。当然,你也可以将一些常用的引用头文件命令放进去,省得以后老是忘记打。