禁止显示状态 警告 C6031 返回值被忽略: “scanf“.

Posted 夏豆的豆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了禁止显示状态 警告 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不具有跨平台性和可移植性,不建议使用。

strcpy,strlen,strcat,scanf....等,这些都是标准C语言提供的库函数,在传统意义上都是不安全的,而这些在Visual Studio中也有其单独提供的函数。

以上是关于禁止显示状态 警告 C6031 返回值被忽略: “scanf“.的主要内容,如果未能解决你的问题,请参考以下文章

一个经常被忽略的c语言问题

为啥我的编译器警告只有一个被禁止?

vs2022scanf函数的使用,使用scanf的报错-返回值被忽略:解决·方法

Python 子进程——如何忽略退出代码警告?

删除操作返回错误:出现意外错误(类型=禁止,状态=403)。禁止的

Intellij Idea 警告 - 使用异步/等待“忽略返回的承诺”