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

目录

【前言】

一、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语言的标准来的!

我们输入一个简单的程序

代码示例:

cpp 复制代码
#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 usingscanf_ sinstead.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即可

代码示例:

cpp 复制代码
#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文件的第一行加入

代码示例:

cpp 复制代码
#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****就可以正常使用了,有任何问题都可以在评论区留言或者直接私信我,我会一 一解答大家的问题,希望这篇文章对你有帮助。

相关推荐
2501_941875283 小时前
从配置中心到动态管理的互联网工程语法演进与多语言实践分享
开发语言·python
hfywmsj4 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
努力的lpp6 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob2336 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
泡海椒7 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb7 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
T1mzhou7 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
Keven_118 小时前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
mengzhi啊8 小时前
QPluginLoader 动态 DLL 插件版,支持插件之间通信,广播。请求和应答
c++·qt
脉动数据行情18 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#