背景

使用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详细了解。

解决方法

  1. 加入 #define _CRT_SECURE_NO_WARNINGS

    项目属性->C/C+±>预处理器->预处理器定义中添加:_CRT_SECURE_NO_WARNINGS

  2. 加入 #pragma warning (disable: 4996) 忽略警告

  3. 根据提示信息,使用更加安全的函数:例如使用strcpy_s代替strcpy,fopen_s代替fopen。

推荐第三种种处理方式,这样会有检测,避免危险性

C++:error C4996解决方法相关推荐

  1. Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法

    Win10 Microsoft Store 微软商店 Error 0x00000193 解决方法 参考文章: (1)Win10 Microsoft Store 微软商店 Error 0x0000019 ...

  2. 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 源码 ...

  3. Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法

    Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法 参考文章: (1)Win2008上.NET4.0部署出错HTTP 错误 5 ...

  4. HTTP 错误 500.19- Internal Server Error 错误解决方法

    HTTP 错误 500.19- Internal Server Error 错误解决方法 参考文章: (1)HTTP 错误 500.19- Internal Server Error 错误解决方法 ( ...

  5. Conversion to Dalvik format failed with error 1解决方法:

    Conversion to Dalvik format failed with error 1解决方法: 第一种情况包导入错误.点击工程-->build path-->libraries- ...

  6. linux网卡有很多error,教你设置win7系统虚拟机安装linux提示network error的解决方法...

    很多朋友在使用电脑的过程中,会发现win7系统虚拟机安装linux提示network error的现象,当遇到win7系统虚拟机安装linux提示network error的问题,我们要怎么解决呢?如 ...

  7. mac显示无法连接adobe服务器,Mac安装Adobe软件,如遇Error提示解决方法

    Mac10.15.3 安装Adobe Photoshop 2020的时候一直提示Error错误 The installation cannot continue as the installer fi ...

  8. 【Ansible】Ansible控制windows插件安装及运行error与解决方法

    一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: ![1_2] 二.问:安装kerberos报错 答:需要先安装libkrb5开发包 ...

  9. 安装DotNetCore.1.0.0-VS2015Tools.Preview2.exe 错误Error 0x81f40001 解决方法

    安装DotNetCore.1.0.0-VS2015Tools.Preview2.exe 错误Error 0x81f40001 解决方法 参考文章: (1)安装DotNetCore.1.0.0-VS20 ...

最新文章

  1. 华为:Access、Hybrid和Trunk三种模式的理解
  2. HDR 成像技术学习(一)
  3. Visual Studio 快捷键使用方法
  4. 定时器_Qt定时器小坑
  5. 第4课 列朋波骨《小学生C++趣味编程》
  6. python-temp-0626随堂
  7. js 原生对象排序
  8. linux shell删除所有文件夹下指定扩展名(关键字)的所有文件
  9. gridview绑定数据mysql_【gridview控件】怎么绑定数据库并显示?
  10. SAP从入门到精通 知识体系
  11. java 封装 继承 多态
  12. mysql实现不同电脑间局域网连接
  13. Qt C++ 运算符重载详解
  14. Ubuntu18.04之lightdm取代gdm
  15. 分析师意外下调评级为中性,苹果财报能否改变科技股走向?
  16. 计算机网络知识点及例题总结(二)应用层
  17. day 63 Django基础九之中间件
  18. java一键换壁纸_Java 版下载必应每日壁纸并自动设置 Windows 系统桌面(改编自 C# 版)...
  19. python barrier_Python中的Barrier对象
  20. 永远的优客李林——Just for you

热门文章

  1. @bogon改为@localhost
  2. Linux让root@bogon变回localhost
  3. 如何实现session共享的几种解决方案?
  4. Eplan p8 v2.7 打不开部件数据库
  5. 8. JanusGraph部署方案
  6. 美团客户端响应式框架EasyReact开源啦
  7. 公积金自由还款计算程序 ( by quqi99 )
  8. 软件工程应用与实践第八篇
  9. 光触媒空气净化器市场现状及未来发展趋势分析
  10. Web收银台系统[项目] -- (3) 登录页面