VS里怎么连scanf都用不了?

不少刚接触Visual Studio的可能发现使用scanf会报错(如下)

报错图片

vs告诉你说scanf不安全,然后你会发现vs给你提供了scanf_s去代替scanf,但是,只有vs能编译scanf_s,可移植性太差了,所以我们要用回scanf,所以要怎么不让它报错呢?可以在源文件开头添加一行宏定义(如下)

#define _CRT_SECURE_NO_WARNINGS 1

这样就能关闭报错了,但请先别急着走,每次都要复制粘贴一句宏定义太麻烦了,想一劳永逸的请往下看。

修改newc++file.cpp来自动添加宏定义

先来看怎么做:首先搜索找到电脑中叫做newc++file.cpp的文件。(这里推荐使用everything


后半段路径应与图片一致,注意不是快捷方式

c++文件的位置


注意:由于权限原因,无法直接修改此文件

所以先将这个文件复制粘贴到别处,例如桌面,下文用副本代称。

用记事本类软件(记事本就行)打开副本,在第一行输入上文提到的宏定义代码#define _CRT_SECURE_NO_WARNINGS 1,然后ctrl+s保存。

关闭编辑窗口,将该副本移动到原始文件所在文件夹,弹出如下窗口,然后选择替换文件

接着弹出下一个提示,点接续

等待它替换完成,然后大功告成!。之后新建的每一个.c.cpp 文件都会自带那段宏定义,于是scanf从此任君使用。当然平时删代码的时候记得别把那段宏定义删了

原理

VS所新建的.c.cpp文件都源自于对上文newc++file.cpp文件的拷贝,通过修改它就能改变VS新建文件的初始内容