解决vs2022scanf报错问题

vs2022scanf报错问题

大家下完vs2022之后,开心的写下一段简单的代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a;
	scanf("%d", &a);
	printf("%d", a);
	return 0;
}

vs2022会毫不犹豫的报错,下面是报错信息:

翻译过来就是vs2022认为我们使用的scanf不安全,它建议我们使用scanf_s

下面我就将代码的scanf改为scanf_s

#include <stdio.h>
#include <stdlib.h>

int main()
{
	int a;
	scanf_s("%d", &a);
	printf("%d", a);
	return 0;
}

使用完scanf_s后,果然一点问题都没有

 

那么问题来了,难道我们以后都需要写scanf_s才能完成编译吗?

假如我们导入一个项目到vs里面,需要一个个的把scanf_s进行修改吗?

这里有一个更好的方法, 在我们文件开头加上:#define _CRT_SECURE_NO_WARNINGS 1

加上之后,我们相当于无视了它的风险,可以正常使用scanf 

 下一步:找到newc++file.cpp文件,将#defnine _CRT_SECURE_NO_WARNINGS 1复制进去,这样我们每次新建项目都会有这段代码,省去了每次的人工添加.

这里我推荐Everything这个软件,Everything是一款由Voidtools开发的Windows平台下的快速文件搜索工具。它以其高效、简洁和强大的文件索引和搜索能力而广受用户欢迎。

下载官网--下载 - voidtools

大家自行选择版本下载安装就好了

下载完成之后打开,搜索newc++file.cpp,找到vs2022中的文件

右击打开路径

 

注意:
这里我们不能直接在记事本中编辑,会爆出没有权限的错误:

 

这里我们先拷贝一份到电脑桌面,完成编辑.

 

 保存退出之后,复制桌面文件,再返回vs2022newc++file.cpp文件的路径下进行替换

替换成功后,我们新建一个项目就会有#define _CRT_SECURE_NO_WARNINGS 1     

 

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值