VS-2019中scanf等报错问题

VS-2019中scanf等报错问题


1.使用_CRT_SECURE_NO_WARNINGS。 2.修改预编译定义。 3.修改文件

前言

scanf报错在是VS独有的,三种方法解决问题在这里插入图片描述错误显示是不安全,可以选择使用scanf_s替换,或者使用_CRT_SECURE_NO_WARNINGS。

先来说说scanf_s替换,替换之后代码可以成功编译。但因为这是VS特有的,其他的编译器并不支持这种格式,所以并不适合进行代码迁移。所以这个有一部分局限性。

那么接下来就说说比较适合的方法。


1.使用_CRT_SECURE_NO_WARNINGS。

在每次写代码的时候,在代码最前面添加

#define _CRT_SECURE_NO_WARNINGS 1 ,记得添加空格。在这里插入图片描述

2.修改预编译定义

每次添加#define _CRT_SECURE_NO_WARNINGS 1,显得比较繁琐,所以可以一次性在项目中把_CRT_SECURE_NO_WARNINGS添加好。

在这里插入图片描述在项目上右键,在最下面找到属性并打开。在这里插入图片描述找到预处理器,在预定义后面把_CRT_SECURE_NO_WARNINGS加进去,记得加入的时候在前面使用英文的分号。确定后退出。即可编译成功。但此方法只适合在这个项目中,每次新建其他项目,还是需要重新输入。

3.修改文件

每次修改项目预定义还是略显繁琐。接下来有一个一劳永逸的方法。

(1)首先找到VS安装文件,找到newc++file.cpp文件。因为版本不同,安装路径不同等等,newc++file.cpp文件位置不一样。所以我就不具体细说了。

(2)
在这里插入图片描述这是我的安装目录,我也没有找到这个文件,所以在这个路径下搜素文件。
(3)打开文件,在这里插入图片描述进行修改,在其中加入#define _CRT_SECURE_NO_WARNINGS 1
,之后保存。然后每次新建文件时,编译器会自动添加#define _CRT_SECURE_NO_WARNINGS 1 。

(4)在对newc++file.cpp文件修改后,保存可能会出现权限不够,我是登录我的管理员账户进行修改的,因为我尝试在文件上修改权限后还是不能。此外该可以使用notepad软件打开newc++file.cpp文件,在其中修改,因为notepad会申请更高权限,进行修改。此方法我没有尝试可自行实践。

  • 2
    点赞
  • 0
    评论
  • 6
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值