解决VS2013或2017中类似于:error C4996: ‘scanf‘: This function or variable may be unsafe的问题

用惯了之前的scanf()函数,突然要用scanf_s()函数多多少少有点不习惯,所以在这里给大家介绍一下scanf_s的用法或好处吧!

1、scanf_s函数格式控制字符串中除了格式声明之外,如果有其他字符,则必须在输入数据时在对应的位置上输入与这些字符相同的字符。

      例如:scanf_s("%d,%d,%d",&a,&b,&c);

      在输入数据时,就应该输入1,2,3;123之间的逗号“,”是不能省略的,不是之前        的1 2 3

       输入数值时,两个数值之间要插入空格或其他分隔符符是为了对多个数值进行区分。但             是,如果出现上面举例的情况,就只能使用与格式控制字符串中字符相对应的字符。

       正如度娘所说:很多带“_s”后缀的函数是为了让原版函数更安全,传入一个和参数有关的         大小值,避免引用到不存在的元素,有时黑客可以利用原版的不安全性黑掉系统。比                 如:char d[20];写成scanf_s("%s",d,20);才是正确的,有这个参数20使准确性提高。

2、但是还是习惯输入scanf,这里提供一种最简单的方法,让你回归到自己的习惯当中!

      第一步:(一定要在项目里设置)项目属性->配置属性->C/C++->预处理器->预处理的定义->点击按钮 (V)->编辑,输入:“_CRT_SECURE_NO_WARNINGS”就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liO_Oil

打赏我,开启隐藏模式。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值