3.错误代码C4996

2023-04-21,,

3.错误代码C4996

错误 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

解决方法:

方法1(不推荐)

1.屏蔽出C996错误(在程序前添加如下代码)

 #pragma warning(disable:4996)

2.使用编译器推荐的更安全的strcpy_s函数(s的意思是safe)

CString str0 = "这是一个测试";
char* result = new char[str0.GetLength() + 1];
strcpy_s(result, str0.GetLength() + 1, str0);

注意数组长度要+1,不然会报错。

推荐使用第一种方法,一劳永逸,因为第二种有可能还有其他的函数需要改,如scanf要改成scanf_s等。

3.更改预处理定义: 项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加 _CRT_SECURE_NO_DEPRECATE

方法2(推荐):

在 VS 路径下找到 newc++file 这个文件(我的是在 C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\VC\VCProjectItems)。在文件中加入#define _CRT_SECURE_NO_WARNINGS 1 即可

3.错误代码C4996的相关教程结束。

《3.错误代码C4996.doc》

下载本文的Word格式文档,以方便收藏与打印。