最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

VC++ 2019 MFC ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead解决方法

业界 admin 3浏览 0评论

一、问题描述

网上下了一个很久之前的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

一、问题描述

网上下了一个很久之前的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

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论