处理 Microsoft Visual C++ 的不安全函数 Warning

Posted SeaYJ 的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处理 Microsoft Visual C++ 的不安全函数 Warning相关的知识,希望对你有一定的参考价值。

如何处理 Microsoft Visual C++ 的不安全函数 Warning ?

问题1

warning C4996: \'strncpy\' was declared deprecated

Message: \'This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.\'

表示strncpy函数已经过时,且存在不安全隐患,可以考虑使用strncpy_s代替。

解决办法

头文件或项目预编译属性里添加宏定义:_CRT_SECURE_NO_WARNINGS

问题2

warning C4996: \'stricmp\' was declared deprecated

Message: \'The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details.\'

表示stricmp函数已经过时;

stricmp:POSIX标准中的名字;

_stricmp:ISO C++ 标准中的名字,且这些ISO标准的函数有许多安全版本,如:_cprintf_s;

在C++程序中,POSIX标准中的名字已经过时了,应该使用_stricmp取而代之。

解决办法

头文件或项目预编译属性里添加宏定义:_CRT_NONSTDC_NO_DEPRECATE

参考文档

Deprecated CRT Functions

声明

本文作者:SeaYJ
转载请注明出处: https://www.cnblogs.com/SeaYJ/p/15778708.html

以上是关于处理 Microsoft Visual C++ 的不安全函数 Warning的主要内容,如果未能解决你的问题,请参考以下文章

在 Microsoft Visual Studio 2015 的 C++ 项目中包含 Armadillo C++ 库

将 /EHa 添加到使用 Microsoft Visual C++ 编译器的 QtCreator

win进程崩溃弹出Microsoft Visual C++ Runtime Library的解决办法

Microsoft Visual C++ Runtime Libuary

在win7系统下,如何安装 Microsoft Visual C++ 6.0呢?谢谢····

为啥不推荐使用本机 Visual C++ 中的事件处理?