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

我们输入一个简单的程序

代码示例:

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

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/76158.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue组件库 (一):Element常用组件

Element基于Vue2.0的桌面端组件库 组件&#xff1a;组成网页的部件。例如超链接、图片、按钮等。 一、环境配置 1、下载element 在vscode工程终端下下载。一定要注意&#xff1a;是在工程下安装&#xff01; npm install element -ui2.15.3 出现以下问题&#xff1a; 经判…

linux系统部署jenkins详细教程

一、Linux环境 1、下载war包 官网下载地址&#xff1a; https://get.jenkins.io/war-stable/2.332.4/jenkins.war 2、将war包上传至服务器 创建目录/home/ubuntu/jenkins 上传war包至该目录 3、将jenkins添加到环境变量 进入环境变量文件 vim /etc/profile # 文件下方追加…

Linux交叉编译opencv并移植ARM端

Linux交叉编译opencv并移植ARM端 - 知乎 一、安装交叉编译器 目标平台为arm7l&#xff0c;此为32位ARM架构&#xff0c;要安装合适的编译器 sudo apt install arm-linux-gnueabihf-gcc sudo apt install arm-linux-gnueabihf-g注意&#xff1a;64位ARM架构的编译器与32位ARM架…

opencv图像轮廓检测

效果展示&#xff1a; 代码部分&#xff1a; import cv2 import numpy as np img cv2.imread(C:/Users/ibe/Desktop/picture.PNG,cv2.IMREAD_UNCHANGED) # 类型转换 img cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 结构元 kernel cv2.getStructuringElement(cv2.MORPH_REC…

运维监控学习笔记8

在服务器端&#xff0c;我们添加了nginx-server的主机&#xff1a; 在解决Error问题的过程中&#xff0c;我还通过zabbix_get这个命令进行了测试&#xff0c;发现是没有的&#xff0c;后来确认是在web页面配置的过程中&#xff0c;我输错了密码。 yum install zabbix-getzabbi…

快速注册微信小程序的账号

注册网站&#xff1a; 微信公众平台 1.点击该网站进行注册 2.选择小程序 3.前往注册小程序账号 4.填写相应的信息后&#xff0c;同意协议后就需要我们登录刚刚注册的邮箱 5.登录邮箱查看信息并进行激活 6.激活登录后就可以看到该页面&#xff0c;然后注册的类型为个人&#xff…

由浅入深学习Tapable

文章目录 由浅入深学习TapableTapable是什么Tapable的Hook分类同步和异步的 使用Sync*同步类型钩子基本使用bailLoopWaterfall Async*异步类型钩子ParallelSeries 由浅入深学习Tapable webpack有两个非常重要的类&#xff1a;Compiler和Compilation。他们通过注入插件的方式&a…

NPM与外部服务的集成(下)

目录 1、撤消访问令牌 2、在CI/CD工作流中使用私有包 2.1 创建新的访问令牌 持续整合 持续部署 交互式工作流 CIDR白名单 2.2 将令牌设置为CI/CD服务器上的环境变量 2.3 创建并签入特定于项目的.npmrc文件 2.4 令牌安全 3、Docker和私有模块 3.1 背景&#xff1a;运…

CSS变形与动画(二):perspctive透视效果 与 preserve-3d 3d效果(奥运五环例子)

文章目录 perspective 3d透视效果preserve-3d 3d嵌套效果例子 奥运五环 backface-visibility 背面效果 perspective 3d透视效果 perspective 指定了观察者与 z0 平面的距离&#xff0c;使具有三维位置变换的元素产生透视效果。z>0 的三维元素比正常大&#xff0c;而 z<0 …

零拷贝详解

1、在没有DMA技术之前的I/O过程是这样的&#xff1a; CPU发出对应的指令给磁盘控制器&#xff0c;然后返回磁盘控制器收到指令后&#xff0c;于是就开始准备数据&#xff0c;会把数据放入到磁盘控制器的内部缓冲区&#xff0c;然后产生中断CPU收到中断信号后&#xff0c;停下手…

Python opennsfw/opennsfw2 图片/视频 鉴黄 笔记

nsfw&#xff08; Not Suitable for Work&#xff09;直接翻译就是 工作的时候不适合看&#xff0c;真文雅 nsfw效果&#xff0c;注意底部的分数 大体流程&#xff0c;输入图片/视频&#xff0c;输出0-1之间的数字&#xff0c;一般情况下&#xff0c;Scores < 0.2 认为是非…

OpenCV-Python中的图像处理-霍夫变换

OpenCV-Python中的图像处理-霍夫变换 霍夫变换霍夫直线变换霍夫圆环变换 霍夫变换 霍夫(Hough)变换在检测各种形状的技术中非常流行&#xff0c;如果要检测的形状可以用数学表达式描述&#xff0c;就可以是使用霍夫变换检测它。即使要检测的形状存在一点破坏或者扭曲也是可以使…

第三章 图论 No.13拓扑排序

文章目录 裸题&#xff1a;1191. 家谱树差分约束拓扑排序&#xff1a;1192. 奖金集合拓扑序&#xff1a;164. 可达性统计差分约束拓扑序&#xff1a;456. 车站分级 拓扑序和DAG有向无环图联系在一起&#xff0c;通常用于最短/长路的线性求解 裸题&#xff1a;1191. 家谱树 119…

浅析3D打印技术

目录 1.3D打印的概念 2.3D打印的发展过程 3.3D打印的应用领域 4.3D打印带来的技术变革 1.3D打印的概念 3D打印是一种制造技术&#xff0c;它使用逐层堆叠材料的方式来创建物体。与传统的加工方法相比&#xff0c;3D打印具有很多优势。 在3D打印中&#xff0c;一种叫做CAD&am…

vue项目报错:node:internal/modules/cjs/loader:1080

运行项目报错&#xff1a; 原因&#xff1a; 看划线的地方&#xff0c;中文乱码导致找不见模块了 解决方案 将路径上的中文改为英文即可&#xff0c;项目命名最好只有英文、下划线&#xff08;_&#xff09;、数字、横杠&#xff08;-&#xff09;等英文符号组成

Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群

目录 高可用&#xff1a; 为什么需要高可用呢&#xff1f; 高可用的主要作用&#xff1a; keepalived是什么&#xff1f;它用在哪里&#xff1f; 什么是VRRP协议&#xff0c;它的作用是什么&#xff1f; 搭建一个基于keepalived的高可用Mysql主从复制读写分离集群 一、项…

C语言笔记7

#include <stdio.h> int main(void) {int a123;int b052;//十进制42int c0xa2;//十进制162printf("a%d b%o c%x \n",a,b,c);//分别是十进制 八进制 十六进制printf("a%d b%d c%d \n",a,b,c);printf("Hello 凌迟老头\n");return …

人工智能原理概述 - ChatGPT 背后的故事

大家好&#xff0c;我是比特桃。如果说 2023 年最火的事情是什么&#xff0c;毫无疑问就是由 ChatGPT 所引领的AI浪潮。今年无论是平日的各种媒体、工作中接触到的项目还是生活中大家讨论的热点&#xff0c;都离不开AI。其实对于互联网行业来说&#xff0c;自从深度学习出来后就…

“记账”很麻烦,看这场竞赛中的队伍与合合信息是如何解决问题的

在我们日常生活中或多或少都会有记账的情况&#xff0c;以此来对自己的收支和消费习惯进行分析&#xff0c;来帮助自己减少不必要的开支&#xff0c;优化财务决策、合理分配资金&#xff0c;减少财务压力和不必要的浪费。 但记账这个动作本身就是一件比较麻烦的。虽然现阶段有…