错误原因:从VS2013开始,编译器将scanf和printf判定为不安全的方法,所以将会推荐使用scanf_s和printf_s方法。报错如图

  • 解决办法:
    在代码首行加入:
#pragma warning(disable:4996)

下面将讨论scanf_s与scanf的异同

  • 使用scanf_s和scanf输入整数类型,字符类型和实数类型操作相同
  • 输入字符串时,两者有所不同
char name[n];
scanf("%s",name);  //scanf用法
scanf_s("%s",name,n);// scanf_s用法,n为缓冲区大小,最多容纳n-1个字符,因为最后一个字符为\0
/*
为了避免引用不存在的元素,所以传入一个与参数大小有关的值,防止黑客利用该漏洞黑掉系统。
*/

ANSI C中没有scanf_s,只有scanf,scanf在读取时不检查边界,所以可能造成内存访问越界的问题

char buf[5]={'\0'};
scanf("%s",buf);//此处如果输入0123456,那么后面的字符会被写到别的空间上

printf_s 和printf的异同同理。

Visual Studio 2019报4996错误的解决办法相关推荐

  1. 总是弹出visual studio 实时调试器 三种解决办法

    总是弹出visual studio 实时调试器 三种解决办法 最近服务器老是弹出visual studio 实时调试器很是郁闷呀.关还关不掉.怎么解决呢 ,现像如下图所示: 下面我们一起来分析一下这种 ...

  2. 【我的C语言学习进阶之旅】解决 Visual Studio 2019 报错:错误 C4996 ‘fscanf‘: This function or variable may be unsafe.

    一.问题描述 今天在Visual Studio 2019中写一段C语言的代码,发生生成错误.弹框如下: 点击[否(N)],提示如下: 错误具体信息为: 错误 C4996 'fscanf': This ...

  3. Visual Studio 2019 报错 无法下载安装文件。请检查Internet连接,然后重试的解决方案之一

    最近一个电脑无法安装 visual studio 2019 ,换操作系统也无果,网上方案试了个遍也无解,最后通过查看 C:\Users\Administrator\AppData\Local\Temp ...

  4. yum安装源是出现报冲突错误,解决办法

    起因,是打算在linux6.5服务器上安装 dell的osma 管理工具 在安装先决包时出现错误 报错如下: yum install libcmpiCppImpl0 已加载插件:aliases, ch ...

  5. 宝塔linux网络连接错误,宝塔linux面板部署防火墙后网页打不开报http564错误的解决办法...

    宝塔linux面板部署Apache/Nginx防火墙后,网页打不开报http564错误? 博主两台服务器上分别安装了宝塔面板linux服务器的apache防火墙和nginx防火墙,再部署腾讯云的CDN ...

  6. 报403错误的解决办法

    调用外部接口,报403错误 在 项目FreeMusic (一个音乐网站,喜欢的可以看下谢谢)中调用酷狗 MP4 资源的时候,无法播放,报403错误.然而直接在浏览器地址栏回车则可以正常播放. 报403 ...

  7. nginx 报 413 错误以及解决办法整理

    最近在项目中,nginx服务器报错:413 Request Entity Too Large". 一看就知道是网络请求中传递的某些数据大小超过了nginx的配置; 看了一下nginx.con ...

  8. VMWare 虚拟机启动报“内部错误”的解决办法

    情况 启动虚拟机的时候,启动不起来,弹出对话框,内部错误. 原因 Vmware 的 server 服务未开启. 解决办法 将以上服务都启动起来

  9. Visual Studio 2017 UTF-8 无 BOM 一站式解决办法

    问题背景:最近捡起C++,使用VS 2017平台.因为以前的编程习惯,喜欢使用UTF-8 无 BOM 的编码格式,好让自己的代码全球通用.但是VS 2017 对这个问题不是很友善.但最终找到了解决办法 ...

最新文章

  1. codeblocks安装后提示找不到编译器,也找不到MinGW目录
  2. android drawableleft 垂直居中,Android TextView前加图标垂直居中第一行(仿大众点评购买须知/提示语)...
  3. 【LeetCode 986】 区间列表的交集(区间交集)
  4. 给定a和n,计算a+aa+aaa+a...a(n个a)的和(大数据处理)
  5. ibdata1 mysql_ibdata1 mysql-bin
  6. ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)
  7. Spring mybatis源码篇章-XMLLanguageDriver解析sql包装为SqlSource
  8. 用python简单处理图片(3):添加水印
  9. QTouch Linux 组态软件
  10. Eclipse 安装教程附免费安装包资源
  11. 数字化建筑与数字化建造,数字化建筑设计与建造
  12. 关于无线网络中几个名词WPS,PSK,WPA,WPA2等名词的解释以及WPA的破解
  13. Android init.rc介绍及其语法
  14. Excel多条件计数——COUNTIFS【获奖情况统计】
  15. 如何提升Excel水平?5个Excel常用技巧,学会不加班
  16. 分享:你必须知道的H5加速器九大常识!
  17. MVP注册登录和XListView刷新加载
  18. 基于Html+Css+javascript的网页制作(旅游主题)
  19. IC讲解: 如何区分CP测试和FT测试
  20. java代码--------随机输出100个随机数,要求每行10个数

热门文章

  1. 大数据学习笔记22:MR案例——双MR统计总利润并排序
  2. 【BZOJ2744】【codevs2366】朋友圈,二分图最大匹配
  3. 【BZOJ1854】【codevs3358】游戏,二分图最大匹配
  4. 2.图像作为函数 | 标量、函数、混合图像_6
  5. java 在面板中加入标签_创建一个JTabbedPane面板,为每一个标签设置一个名称
  6. 2017.4.22 hankson的趣味题 思考记录
  7. GCC9.2/Python3.8/Libvirt6.0/QEMU4.2 编译/配置/安装
  8. 几个多字节和UNICODE及UTF-8之间相互转化的函数
  9. win10无法装载iso文件_win10镜像文件不能安装怎么办?win10镜像文件无法安装的解决教程...
  10. centos6.0安装中文输入法