关于VS中scanf函数报错问题的几种解决方法

目录

引言:

方法一:

方法二:

方法三:

方法四:(☪强烈推荐这种方法,绝对的一劳永逸)


引言:

        Hello,大家好,我是南风。相信很多小伙伴在第一次使用scanf函数时大概率会遇到系统报错的问题(如下图所示)。翻译过来就是:“scanf这个函数或者变量可能不安全 ,考虑使用scanf_s替换,如果想让报错失效的话,请使用 _CRT_SECURE_NO_WARNINGS”。但这个报错只针对VS编译器,因为VS比较严谨,其它编译器不会出现这种情况。

那么这个时候我们该怎么办呢?接下来我就将解决这个问题的几种方法一一列举出来,有需求的小伙伴可以参考一下。

方法一:

根据报错提示将scanf函数替换成scanf_s即可。但是因为scanf_s这个函数是VS提供的,其它编译器没有。所以说,如果你在代码中使用了scanf_s函数,代码就不跨平台了(即没有了可移植性),所以并不推荐大家使用这种方法。

方法二:

在使用scanf函数的.c文件的第一行加入 #define  _CRT_SECURE_NO_WARNINGS

🎈正确示范:

🎈错误示范:

 🎈注意:

  • define_CRT_SECURE_NO_WARNINGS之间要有空格,不然依旧会出错。
  • 添加的这行代码一定要放在.c文件的第一行一定要放在.c文件的第一行一定要放在.c文件的第一行(重要的事情说三遍)。

 🎈缺陷:

使用这种方法,每个.c源文件都需要手动添加,比较麻烦。

方法三:

让某一个警告或者错误失效,我们可以看到这个.c文件错误码的编号叫4996

可以在程序的开头加入这样一行代码 #pragma warning(disable:4996) ,这样系统就不会再有报错信息啦!

🎈注: 这种方法只适用于这个工程,只针对这个错误码来解决报错,不够一劳永逸。

方法四:☪强烈推荐这种方法,绝对的一劳永逸

在VS中有一个文件 newc++file.cpp,找到这个文件,在这个文件中加入 #define  _CRT_SECURE_NO_WARNINGS,以后新建的.c文件中自动就会有这一行代码。

🎈具体步骤如下:

1.打开文件资源管理器,找到你的VS安装路径,里面有个 newc++file.cpp文件

2.将 newc++file.cpp文件拷贝(Ctrl+c)一份,复制(Ctrl+v)到桌面

 3.在桌面上将文件用记事本打开

4.将 #define  _CRT_SECURE_NO_WARNINGS输入到记事本后保存退出

5.将改完后的文件拷贝到原来的位置,替换掉以前的文件,下次再创建新的源文件时就会自动写入#define  _CRT_SECURE_NO_WARNINGS

        以上就是针对VS中scanf函数报错所列举的几种方法,如有不当之处,欢迎大家在评论区留言!

  • 43
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

南风与鱼

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

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

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

打赏作者

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

抵扣说明:

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

余额充值