VisualStudio2022 关于C4996和C6031错误的解决方法

工具:visual studio 2022

问题:

VS2022中C语言scanf报错:C4996

警告:C6031 返回值被忽略: "scanf"

微软不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误。

VisualStudio2022 关于C4996和C6031错误的解决方法_第1张图片

 

一、仅解决C4996的方案:

方法一:VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数;

将scanf改为scanf_s,运行成功。

VisualStudio2022 关于C4996和C6031错误的解决方法_第2张图片

 

方法二:要想继续使用此函数,需要在源文件中添加以下指令就可以避免这个错误提示;

根据C4996的错误,将#define _CRT_SECURE_NO_WARNINGS宏定义放在.c文件的第一行,运行成功。

VisualStudio2022 关于C4996和C6031错误的解决方法_第3张图片

 

方法三:屏蔽C4996错误。

头文件中加上#pragma warning(disable:4996),运行成功。

VisualStudio2022 关于C4996和C6031错误的解决方法_第4张图片

 

二、解决C4996和C6031方案:

警告C6031 指示调用方未检查失败的函数返回值。根据调用的函数,此缺陷可能导致看似随机的程序错误行为。这包括错误情况或资源不足情况下的崩溃和数据损坏。

1.头文件中加上:

#pragma warning(disable:4996)
#pragma warning(disable:6031)

2.【项目】——>【属性】——>【C/C++】——>【高级】——>【禁用特定警告】;

VisualStudio2022 关于C4996和C6031错误的解决方法_第5张图片

 

3.输入【4996和6031】; 

VisualStudio2022 关于C4996和C6031错误的解决方法_第6张图片 

运行成功 ,警告消失。

 VisualStudio2022 关于C4996和C6031错误的解决方法_第7张图片

你可能感兴趣的:(VS2022,C/C++,1024程序员节,visual,studio,c语言)