解决VS中scanf()函数报错问题的四种方案(详细)

2023-11-05

 scanf函数在VS中报错的主要原因是 scanf被认为不安全而被编译器默认设置为禁用。

那么如何解决这个问题呢

法一:

仅将函数scanf替换为scanf_s即可,其他语法不变。但scanf_s函数并不是C语言函数库里的标准函数,而是VS编译器所提供的函数,所以并不推荐用这种方法来解决问题。

法二:

在代码的最顶端输入#define  _CRT_SECURE_NO_WARNINGS

!!!注意一定是最顶端不然依旧会报错

错误示例:

 

 正确示例:

这样就解决了,但是这个办法依然有缺陷,就是当我们每一次新建一个程序或者项目时,就要重新去在代码的最顶端输入#define  _CRT_SECURE_NO_WARNINGS。这显然还不是我们想要的解决方案。

法三:

在VS的界面中,最顶端找到项目这一栏,点击属性

 

找到C/C++这一栏,选择预处理器,打开预处理器定义这一栏最右边的小三角,选择编辑。

 在最上方的白框中输入_CRT_SECURE_NO_WARNINGS,点击确定,然后点击应用(切记是应用而非确定)但这种办法依旧不能一劳永逸(恼)。

法四:

打开文件资源管理器,找到visual studio 的安装路径,然后在该路径下搜索 “newc++file.cpp” (或可直接搜索,路径越细查找速度越快)

 找到这个文件后复制粘贴到桌面上

 输入#define  _CRT_SECURE_NO_WARNINGS,后保存退出

 将文件拖回原来的位置,点击替换目标中的文件,之后点击确认就好(如果直接在原位置更改保存的话会要管理员权限导致无法保存)

此后我们在VS中创建新的源C/CPP文件时会在开头自动输入

#define   _CRT_SECURE_NO_WARNINGS,一劳永逸解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决VS中scanf()函数报错问题的四种方案(详细) 的相关文章

随机推荐