C语言关于解决vs编译器scanf等函数输入不安全

目录

1.不安全原因

2.解决方案

 2.1 把scanf替换成scanf_s

2.2使用宏 _CRT_SECURE_NO_WARNINGS


1.不安全原因

      在VS编译器中,scanf等函数并不会对你输入值进行长度监控,因此在某些层面上就很容易造成内存的溢出。

2.解决方案

    对于上述问题,编译器提供了两个解决方案,分别是

 2.1 把scanf替换成scanf_s

虽然说此处编译器提供了此类方法,但此小编处并不推荐,首先是替换过于麻烦,其次是scanf_s仅仅只是在VS这类编译器中可以采用,在某种程度来讲,这大大降低了代码的可移植性。

2.2使用宏 _CRT_SECURE_NO_WARNINGS

这是编译器的提供的另一类解决方案,仅仅需要定义宏 _CRT_SECURE_NO_WARNINGS,但是此处任然比较麻烦,那有没有一种方法可以永久性的解决此类问题呢?答案是:有。

此处小编给大家推荐一款文件搜索软件,该搜索速度远远快于在电脑中查询文件的速度。everythinghttps://www.voidtools.com/zh-cn/

此处直接下载安装精简版即可。        

 打开everything,我们需要在此找到VS中的newC++file.cpp文件。

 把文件复制到桌面,只有在桌面我们才具有更改权力。

用记事本打开在此处加入#define_CRT_SECURE_NO_WARNINGS

随后将该复制回原路径即可。

接下来在我们新建的源文件中都包含了我们所定义的宏。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

半只牛马

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值