问题解决(1)——VS中scanf报错怎么解决

简介: 它报错的原因是说怀疑这个scanf函数不安全。因为VS是一款功能强大的IDE,它的语法检查、控制台环境检查机制太严格了,你从键盘中输入这个事情在它看来是一种不安全的操作。所以它才会报错。它的建议是用scanf_s或者 _CRT_SECURE_NO_WARNINGS(即crt secure no warnning,控制台不报警告)

我们在用VS的时候,用库函数scanf可能会出现如下图这样的报错。

image.png


这是为什么呢?


实际上,这并不是你的语法错误。


它报错的原因是说怀疑这个scanf函数不安全。因为VS是一款功能强大的IDE,它的语法检查、控制台环境检查机制太严格了,你从键盘中输入这个事情在它看来是一种不安全的操作。所以它才会报错。它的建议是用scanf_s或者 _CRT_SECURE_NO_WARNINGS(即crt secure no warnning,控制台不报警告)


我们不建议用scanf_s,因为你会发现当你输入字符串用scanf的时候会出现一系列乱七八糟的问题。


好,简单了解过原因后,现在来说,我们应该怎么样去解决这个问题?


我们提供三种方法,仅供参考。


方法一:

直接在上面添加这样一行代码就行了。


#define _CRT_SECURE_NO_WARNINGS 1  //它的含义是把显示器安全不报警这个变量设置为真

需要注意,一定要将其添加在你的代码的第一行(就是在所有的代码之前)


加完以后变成这样:

image.png

就可以运行了。

image.png

以上是方法一。该方法的缺点是你每次新建一个源文件可能都需要重新添加这样一句话。


方法二:

在菜单栏里,选择【项目】->【属性】

image.png


然后,选择【配置属性】->【C/C++】->【预处理器】->【预处理器定义】,在右侧下拉菜单进行编辑,如下图:


微信图片_20221211163428.png



尽量不要动原来的值,然后在下面直接添加刚刚的这个

_CRT_SECURE_NO_WARNINGS

微信图片_20221211163446.png


点击确定、确定即可。


该方法的缺点是你每新建一个项目可能都需要重新配置一下。


方法三一劳永逸。


方法三:

找到newc++file.cpp这样一个文件。


怎么找?从你的文件管理器中。


找到你的VS下载到哪里了,然后按照下面的路径来去寻找即可。

image.png

找到该文件夹后,拉到桌面上,用记事本打开,然后加上刚刚下面这句话,再拉回来(即该文件原来的地方)即可。

#define _CRT_SECURE_NO_WARNINGS 1


注意,之所以要拉到桌面上,是因为可能你在该文件夹里没有修改的权限。


over~~~~~


好啦,本节的内容就到这里啦~~



目录
相关文章
|
7月前
|
存储
学习printf的基本用法
学习printf的基本用法
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法
|
7月前
|
编译器 C++
VS编译器对scanf函数不安全报错的解决办法(详细步骤)
VS编译器对scanf函数不安全报错的解决办法(详细步骤)
|
编译器 C语言 C++
如何解决VS中scanf使用时报错或无法使用的问题
如何解决VS中scanf使用时报错或无法使用的问题
212 0
|
编译器 文件存储 C++
一劳永逸的方法解决函数scanf报错问题
一劳永逸的方法解决函数scanf报错问题
165 0
|
7月前
|
数据安全/隐私保护
scanf与getchar连用的注意事项
这里主要讲述scanf函数和getchar函数连续使用的注意事项
100 2
|
安全 C语言 C++
VS中使用scanf函数报错如何解决?
VS中使用scanf函数报错如何解决?
56 0
关于在vs中一劳永逸解决使用scanf, strcpy等函数的方法
关于在vs中一劳永逸解决使用scanf, strcpy等函数的方法
|
编译器 C语言 C++
scanf返回值被忽略的原因及其解决方法(vs2019)
scanf返回值被忽略的原因及其解决方法(vs2019)
784 0
|
C语言 数据安全/隐私保护
【C语言】getchar与scanf输入函数注意事项
【C语言】getchar与scanf输入函数注意事项
100 0