c++课设图书管理系统中的问题 25
1个回答
展开全部
这个问题的原因是一些老版本的代码中使用的字符串处理函数,未充分考虑字符串可能的溢出,估计没有做检测吧,这相当于是隐含BUG,后面就有了对应的strcpy_s以“_s”结尾的补丁函数,这类函数应该是有溢出检测,所以加“_s”表示安全“safe”版本,如果是以前的代码,有两种解决方案
方法一:手工将原来的旧函数替换成新的Security CRT functions,你上面的例子中如果要换函数,就是:strcpy_s
方法二:屏蔽这个警告。
在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:
#define _CRT_SECURE_NO_DEPRECATE
或者#param warning(disable:4996)
方法一:手工将原来的旧函数替换成新的Security CRT functions,你上面的例子中如果要换函数,就是:strcpy_s
方法二:屏蔽这个警告。
在预编译头文件stdafx.h里(注意:一定要在没有include任何头文件之前)定义下面的宏:
#define _CRT_SECURE_NO_DEPRECATE
或者#param warning(disable:4996)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询