别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述禁止显示状态 警告 C6031 返回值被忽略: “scanf“.相关的知识,希望能为你提供帮助。
原因:在ANSI C中没有scanf_s(),只有scanf(),但是scanf()在读取时不检查边界,所以可能会造成内存泄露。于是Microsoft公司在Visual Studio中提供了scanf_s(),如果想继续使用scanf这个不安全的函数以下方法可以解决:
方法一:在文件顶部添加代码:#pragma warning(disable:4996) 即可
方法二:错误提示的原因在与vs中的SDL检查;关闭步骤右键单击工程文件–>
属性-------->
c/c++ ------>
所有选项------------>
SDL检查选项改为 否
方法三:如果使用的是Visual Studio 2019,找到项目属性,在配置属性中找到C/C++中的预处理器,在右侧预处理器定义一栏中添加_CRT_SECURE_NO_WARNINGS
文章图片
scanf_s是Visual Studio单独提供的函数,只能用于Visual Studio中,在其他的编译器中是无法识别的,所以scanf_s不具有跨平台性和可移植性,不建议使用。
【禁止显示状态 警告 C6031 返回值被忽略: “scanf“.】strcpy,strlen,strcat,scanf....等,这些都是标准C语言提供的库函数,在传统意义上都是不安全的,而这些在Visual Studio中也有其单独提供的函数。
推荐阅读
- 你为什么还在写 CRUD API ()
- Azure site recovery——04正式部署
- 编译器优化机制详解
- 实例7(stc8a8k定时器0,定时50ms,进入中断之后,加数20次到1秒,计算时间。)
- 实例3,stc8a利用内置的PWM模块,控制小车直流电机运动
- 实例6配套头文件和c文件,4脚OLED显示,I2C
- 测试
- 小车,测走过的距离,计算走过的时间,stc8a8k
- RedHat的yum配置 以及提示“This system is not registered with RHN”的解决