处理 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

posted @ 2022-01-08 16:43  SeaYJ  阅读(84)  评论(0编辑  收藏  举报
回到顶部