C++:error C4996解决方法
背景
使用fopen
sprintf
strcpy
strstr
等函数,在编译c++程序时报如下错:
error C4996: ‘strncat’: This function or variable may be unsafe. Consider using strncat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
error C4996: ‘sprintf’: This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
原因
这种是微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。
解决方法
加入 #define _CRT_SECURE_NO_WARNINGS
项目属性->C/C+±>预处理器->预处理器定义中添加:_CRT_SECURE_NO_WARNINGS
加入
#pragma warning (disable: 4996)
忽略警告根据提示信息,使用更加安全的函数:例如使用strcpy_s代替strcpy,fopen_s代替fopen。
推荐第三种种处理方式,这样会有检测,避免危险性
C++:error C4996解决方法相关推荐
- Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法
Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法 参考文章: (1)Win10 Microsoft Store 微软商店 Error 0x0000019 ...
- mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法 参考文章: (1)mono-3.4.0 源码 ...
- Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法
Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法 参考文章: (1)Win2008上.NET4.0部署出错HTTP 错误 5 ...
- HTTP 错误 500.19- Internal Server Error 错误解决方法
HTTP 错误 500.19- Internal Server Error 错误解决方法 参考文章: (1)HTTP 错误 500.19- Internal Server Error 错误解决方法 ( ...
- Conversion to Dalvik format failed with error 1解决方法:
Conversion to Dalvik format failed with error 1解决方法: 第一种情况包导入错误.点击工程-->build path-->libraries- ...
- linux网卡有很多error,教你设置win7系统虚拟机安装linux提示network error的解决方法...
很多朋友在使用电脑的过程中,会发现win7系统虚拟机安装linux提示network error的现象,当遇到win7系统虚拟机安装linux提示network error的问题,我们要怎么解决呢?如 ...
- mac显示无法连接adobe服务器,Mac安装Adobe软件,如遇Error提示解决方法
Mac10.15.3 安装Adobe Photoshop 2020的时候一直提示Error错误 The installation cannot continue as the installer fi ...
- 【Ansible】Ansible控制windows插件安装及运行error与解决方法
一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: ![1_2] 二.问:安装kerberos报错 答:需要先安装libkrb5开发包 ...
- 安装DotNetCore.1.0.0-VS2015Tools.Preview2.exe 错误Error 0x81f40001 解决方法
安装DotNetCore.1.0.0-VS2015Tools.Preview2.exe 错误Error 0x81f40001 解决方法 参考文章: (1)安装DotNetCore.1.0.0-VS20 ...
最新文章
- 华为:Access、Hybrid和Trunk三种模式的理解
- HDR 成像技术学习(一)
- Visual Studio 快捷键使用方法
- 定时器_Qt定时器小坑
- 第4课 列朋波骨《小学生C++趣味编程》
- python-temp-0626随堂
- js 原生对象排序
- linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
- gridview绑定数据mysql_【gridview控件】怎么绑定数据库并显示?
- SAP从入门到精通 知识体系
- java 封装 继承 多态
- mysql实现不同电脑间局域网连接
- Qt C++ 运算符重载详解
- Ubuntu18.04之lightdm取代gdm
- 分析师意外下调评级为中性,苹果财报能否改变科技股走向?
- 计算机网络知识点及例题总结(二)应用层
- day 63 Django基础九之中间件
- java一键换壁纸_Java 版下载必应每日壁纸并自动设置 Windows 系统桌面(改编自 C# 版)...
- python barrier_Python中的Barrier对象
- 永远的优客李林——Just for you