admin管理员组

文章数量:1186047

一、问题描述

网上下了一个很久之前的zip源码,原项目中编译没有任何问题,但是复制到自己的项目中后,就开始不同的报错,最多的就是以下这个错误,网上查了很久,建议方法都是增加不提示错误的治标不治本的办法。

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 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. mfczip D:\website\mfczip\mfczip\zip\unzip.cpp 3760

二、解决办法

将strcpy改为strcpy_s,具体代码如下:

char str1[20];
strcpy(str1, "hello world")

改成:

char str1[20];
strcpy(str1, strlen(str1), "hello world")

PS:网上还有建议说,直接增加预处理定义屏蔽这个错误(个人感觉,既然是错误修正就好了,干嘛要屏蔽掉,所以一直不想这样干),虽然,大家都说加了_s的只是微软哪些程序员,认为部分C函数内部没有做长度检查,很有可能导致内存溢出,所以好心的建议大家使用_s的函数,所以,完全可以无视微软程序员们的好心建议。好吧。

增加_CRT_SECURE_NO_WARNINGS

本文标签: 解决方法MFCstrcpyVCunsafe