Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)

news/2024/7/16 10:29:32 标签: visual studio, ide, c语言, c++, 开发语言

目录

【前言】

一、scanf报错示例

二、解决使用scanf报错的方法

解决方法1(不推荐)

解决方法2(不推荐)

解决方法3(强烈推荐)

第一步

第二步

第三步

三、效果演示(方法三)

【最后】


  • 🎈个人主页:库库的里昂
  •  🎐CSDN新晋作者
  •  🎉欢迎 👍点赞✍评论⭐收藏
  •   ✨其他专栏:代码小游戏、C语言初阶
  •   ✨收录专栏:编程小白
  •  🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

【前言】

  • 宝子们好呀!在上一篇文章中教大家任何安装完成Visual Studio 2022还没有安装的朋友们可以到这里来看一下呀:Visual Studio 2022下载安装教程
  • 安装完成后,很多新手小白在使用Visual Studio 2022编译器的过程中使用到scanf后会出现报错的情况,也不知道如果改正,所以今天我就来给大家分享解决这个问题的办法。

一、scanf报错示例

我们在Visual Studio 2022里面使用scanf是不是出现过这样的错误,其实是因为Visual Studio 2022这个编译器并不是完全按照C语言的标准来的!

我们输入一个简单的程序

代码示例:

#include<stdio.h>
int main()
{
	int a = 0;
	scanf("^%d", &a);
	printf("%d", a);
	return 0;
}

结果报错:

    

图中显示:

'scanf': This function or variable may be unsafe. Consider using scanf_ s instead.To disable deprecation, use_CRT_SECURE_NO_WARNINGS. See online help for details.

意思就是

scanf:

  1. 此函数或变量可能不安全。请考虑改用scanf_s。
  2. 禁用不建议使用,请使用_CRT_SECURE_NO_WARNINGS。

所以说错误出现在scanf身上,下面我们来看解决办法

二、解决使用scanf报错的方法

现在网上常见的几种解决 scanf 函数不安全问题的方法有3种,下面我来一 一介绍

解决方法1(不推荐

根据报错提示将scanf函数替换成scanf_s即可\sum \prod

代码示例:

#include<stdio.h>
int main()
{
	int a = 0;
	scanf_s("%d", &a);
	printf("%d", a);
	return 0;
}

代码结果:

  

我们可以看到scanf这个问题解决了,但是因为scanf_s这个函数是VS提供的,其它编译器没有。所以说,如果你在代码中使用了scanf_s函数,代码就不跨平台了(即没有了可移植性),所以并不推荐大家使用这种方法。

解决方法2(不推荐

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

代码示例:

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);
	printf("%d", a);
	return 0;
}

代码结果:

  

我们可以看到scanf这个问题解决了

注意:

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

 我们可以看到scanf这个问题解决了,但是使用这种方法,每个.c源文件都需要手动添加,比较麻烦,所以并不推荐大家使用这种方法。

解决方法3(强烈推荐)

第一步

在电脑中找到 “newc++file.cpp” 文件。

路径:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems

  

考虑到很多同学放的位置不一样,这里我推荐同学下载一个软件, “Everything”,这个软件可以帮助大家迅速找到你电脑中的任何文件,在许多时候都十分有用。

 打开Everything,输入newc++file.cpp,再查看代码路径

  

第二步

把此文件复制粘贴到桌面上,然后打开它,在里面加上

#define _CRT_SECURE_NO_WARNINGS 1” ,然后保存退出。

  

  

  

    

  

第三步

把桌面上修改过后的文件保存下来,到 “newc++file.cpp” 文件路径下粘贴上去,然后点击“替换目标中的文件”,就大功告成了。

  

  

:把 “newc++file.cpp” 文件复制粘贴到桌面上在修改其中内容然后在替换原文件的原因是:如果我们直接修改 “newc++file.cpp” 文件中的内容,系统会向我们索要管理员权限,而上面的方法则不会。

三、效果演示(方法三)

我们任意新建一个.c文件,查看是否会有这么一段代码

  

  

  

OK,果然有这么一段代码,至此我们的问题就完全解决了!🎉🎉🎉

【最后】

到这里我们的Visual Studio 2022就可以正常使用了,有任何问题都可以在评论区留言或者直接私信我,我会一 一解答大家的问题,希望这篇文章对你有帮助。

  


http://www.niftyadmin.cn/n/4943000.html

相关文章

idea插件开发-自定义语言01Language和LanguageType

Intellij platform本质是对不同的开发语言提供支持&#xff0c;举例来说我们也可以用notebook.app来开发java代码&#xff0c;但效率上可能没有可比性。因为Intellij idea提供了很多语言特定功能&#xff08;例如语法高亮显示和代码分析&#xff09;。很多插件本质上都是效率插…

简述数据中心供配电系统的可靠性及产品选型

安科瑞 华楠 摘 要&#xff1a;随着信息技术的高速发展&#xff0c;数据中心业务量的不断扩大&#xff0c;数据中心供配电系统的可靠性成为整个数据中心系统关键业务正常运行的必要条件。因此&#xff0c;在项目的前期规划设计以及施工过程中&#xff0c;考虑如何保证供配电系…

【vue3+xlxs+xlsx-style-vite】vue3项目中使用xlsx插件实现Excel表格的导出和解析,已实现

在vue3项目中使用xlsx插件实现Excel表格的导出和解析 1、xlsx插件包官方 xlsx插件包官方 2、FileReader官方文档&#xff1a;FileReader官方文档 安装xlsx和xlsx-style-vite、file-saver npm install xlsx npm install xlsx-style-vite npm install file-saverpackage.json中查…

Python是什么?它有什么用途?

Python是什么&#xff1f; Python是一门具有优雅和简洁语法的高级编程语言。它由荷兰程序员Guido van Rossum创造并于上世纪90年代初发布。Python的设计理念强调可读性和清晰性&#xff0c;使得代码编写变得轻松且容易理解。这门语言以其独特的缩进方式来标记代码块&#xff0…

MySQL数据库-进阶篇

进阶篇 一、MySQL体系结构 二、存储引擎 简介 存储引擎特点 InnoDB &#xff08;默认&#xff09; MyISAM Memory 存储引擎区别 存储引擎选择 ​​ 小结 三、索引 配置Linux版本的mysql --nodesp和--force linux防火墙相关操作 https://blog.csdn.net/weixin_437…

docker-compose部署nacos 2.2.3

1、编写docker-compose.yml文件 version: "3.1" services:nacos:restart: alwaysimage: nacos/nacos-server:v2.2.3container_name: nacosenvironment:- NACOS_AUTH_ENABLEtrue- MODEstandalone- NACOS_AUTH_TOKEN8b92c609089f74db3c5ee04bd7d4d89e8b92c609089f74db…

6.编程思想和构造函数

6.1面向过程编程 面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个的依次调用就可以了 ●面向过程&#xff0c;就是按照我们分析好了的步骤&#xff0c;按照步骤解决问题 6.2面向对象编程(oop) 面向对…

[oneAPI] 手写数字识别-卷积

[oneAPI] 手写数字识别 手写数字识别参数与包加载数据模型训练过程结果 oneAPI 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&#xff1a;https://devcloud.intel.com/oneapi/get_started/aiAnalyticsToolkitSam…