今天,在VS2017上写了一段代码,用到了strcpy()函数,编译不过。以前在用Codeblocks时,可以编译运行,在VS2017上报的错误如下:
错误 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.
通过查找资料,解决了这个问题。
原因:一般认为是vs准备弃用strcpy的,安全性较低,所以微软提供了strcpy_s来代替然而,strcpy_s并没有strcpy好用,我们要想继续在VS2015中使用strcpy该怎么办 呢?
解决方案:
-
其实在下面的输出错误信息中有解决方法,“To disable deprecation , use _CRT_SECURE_NO_WARNINGS”,意思是我们可以不进行兼容性检查,我们可以在项目-属性-配置属性-c/c+±预处理器-预处理定义里边加上一句:_CRT_SECURE_NO_WARNINGS
。 -
也是在下面的输出信息中,我们可以看到有一处错误代号“ error C4996:”,所以我们可以在程序开头加上一句“#pragma warning(disable:4996)”就行,意思是忽略这个错误。