解决scanf库函数在VS编译器报错问题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

大家在使用scanf库函数会给出这样的报错嘛,我们该怎么解决这样的报错呢?

根据报错提示,解决的办法有俩种

第一种:提示说这里的scanf不安全,考虑用scanf_s。我们把scanf改成scanf_s就好啦。

这里简单写个比较大小的程序,这是使用scanf和改成scanf_s后的区别

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

可以看到直接使用scanf会报错的,改成scanf_s后程序就没有报错运行出来啦

第一种方法比较简单,但会降低程序的可移植性,scanf_s这个库函数只有VS才可以识别,换成别的编译器就不行啦

第二种:

根据报错提示让我们用_CRT_SECURE_NO_WARNINGS来使报错无效,我们这里就把

#define _CRT_SECURE_NO_WARNINGS放在第一行就可以了。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

第二种方法虽然比较好,但是比较麻烦,因为每次使用scanf都需要添加这样一条预处理命令。有没有一劳永逸的办法呢?

在VC的安装路径下有一个 newc++file.cpp的文件

在VS工程中创建新的.c或.cpp文件时,都是拷贝newc++file.cpp这个文件的!

所以我们只需要找到这个文件并在这个文件中添加#define _CRT_SECURE_NO_WARNINGS这样一条预处理命令就好啦

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

这里我们找到了这个文件,再以记事本或者VS的方式打开写入命令

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

会发现保存不了,原因是我们现在没有权限去修改这个文件里的内容

我们这里把这个文件复制一份到桌面(注意不是复制快捷方式奥),在桌面打开再写入命令保存就可以啦,最后再把桌面的这个文件替换原来的newc++file.cpp文件就可以

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA55m95p2oNzgz,size_20,color_FFFFFF,t_70,g_se,x_16

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值