Visual Studio 2019 解决scanf函数报错问题

21 篇文章 1 订阅
订阅专栏
11 篇文章 6 订阅
订阅专栏
本文介绍了在VisualStudio2019中使用scanf函数时遇到的警告问题,推荐使用#define_CRT_SECURE_NO_WARNINGS来消除警告,同时解释了scanf_s的替代方案及其潜在风险。
摘要由CSDN通过智能技术生成

前言

Visual Studio 2019 解决scanf函数报错问题
博主博客链接: https://blog.csdn.net/m0_74014525
关注博主,后期持续更新系列文章
*****感谢观看,希望对你有所帮助*****


系列文章

第一篇:Visual Studio 2019 详细安装教程(图文版)
第二篇:Visual Studio 2019 实用功能设置(背景颜色,代码颜色及行号设置)
第三篇:Visual Studio 2019 代码调试技巧
第四篇:Visual Studio 2019 解决scanf 警告问题


文章目录

  • 前言
  • 系列文章
  • 一、问题由来
  • 二、为何会存在这个问题
  • 三、解决方法
    • 方法1(scanf_s)不推荐
    • 方法2(#define _CRT_SECURE_NO_WARNINGS 1)推荐
  • 总结


一、问题由来

在 Visual Studio 2019 编辑代码时,前期刚刚接触到VS编译器时存在的困惑,当用scanf()函数,进行输入时,在运行的时候编译器会出现警告报错。如下图情况
在这里插入图片描述


二、为何会存在这个问题

在Visual Studio 2019中,scanf函数会被标记为不安全的函数,因为它没有检查输入缓冲区的大小。如果输入缓冲区不够大,scanf函数可能会导致缓冲区溢出,从而引发安全漏洞。


三、解决方法

方法1(scanf_s)不推荐

为了避免这个问题, VS编译器中可以使用scanf_s函数代替scanf。scanf_s函数具有相同的参数和行为,但添加了一个额外的参数,用于指定输入缓冲区的大小。例如,要读取一个整数,您可以这样使用scanf_s函数:

int num;
if (scanf_s("%d", &num) != 1) {
    // scanf_s失败,处理错误
}

注意:如果您还想使用scanf函数而不是scanf_s函数,请在项目的属性中启用“CrtSecureWarnings”选项,该选项将禁用scanf函数的警告。


方法2(#define _CRT_SECURE_NO_WARNINGS 1)推荐

在文件的最顶端输入以下代码

#define  _CRT_SECURE_NO_WARNINGS 1

注意一定得是文件最开头的地方 !!!

 如图所示
因为在编程时常常会使用到scanf函数,为了解决每次编程时都需要在开头写这条会很繁琐


以下是解决方法
在新建.c文件时自带#define _CRT_SECURE_NO_WARNINGS 1

  1. 先下载这个软件 旁边是 Everything官网地址
    在这里插入图片描述

  2. 运行Everything,在搜索框里查找这个文件newc++file.cpp
    在这里插入图片描述

  3. 右击打开路径
    在这里插入图片描述

  4. 复制该文件到桌面,用vs2019打开进行修改
    在这里插入图片描述

  5. 将这段代码#define _CRT_SECURE_NO_WARNINGS 1复制到文件中
    在这里插入图片描述

  6. 将这个文件保存到步骤4.的路径中,替换本来的文件
    在这里插入图片描述

  7. 这样就在新建文件时,就有这行代码啦
    在这里插入图片描述


总结

在学习C语言的初期,经常遇到scanf函数报错问题,建议使用方法2,方法1的scanf_s是在VS编译器中有,使用时如果在其他编译器运行时可能会出错,所以建议使用方法2,#define _CRT_SECURE_NO_WARNINGS 1


如这篇博客对大家有帮助的话,希望 三连 支持一下 !!! 如果有错误感谢大佬的斧正 如有 其他见解发到评论区,一起学习 一起进步。

Visual Studio 2019解决scanf函数报错
weixin_59941916的博客
01-28 156
Visual Studio 2019Visual Studio 2019中使用scanf函数时出现 错误:'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.如何解决
Visual 2019 运行scanf函数出现报错问题解决方法【学习笔记】
qq_62574359的博客
10-04 1831
我在学习C++运行visual 2019scanf函数出现的报错,如: 错误类型:如下图所示 通过查询其他相关资料,得到了解决方法。 解决方法1: 按照提示将 scanf 改成 scanf_s;这种方法较直接快速。 解决方法2: 不修改scanf函数,在最开端重新定义个内容。内容是报错中”_CRT SECURE NO WARNINGS“,即在"#int main()”上面一行添加“#define _CRT SECURE NO WARNINGS”。但这个方法得每次都添加,较为麻烦。 下面介绍一种方法,在
Visual Studio 2019使用scanf报错以及使用scanf_s报错
weixin_44246836的博客
03-01 591
Visual Studio 2019使用scanf报错以及使用scanf_s报错 问题描述 在进行scanf_s操作多种数据的混合输入时,发生异常0x66D76582(ucrtbased.dll)错误 于是将scanf_s改为scanf,需要在文件开头添加如下代码: #define _CRT_SECURE_NO_WARNINGS 调整后 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int
Visual Studio编辑器 2019scanf函数返回值被忽略(C4996)报错及四种解决办法
m0_61409069的博客
07-29 6209
scanf()等函数存在于版本较旧的CRT(Cruntimelibrary,partoftheCstandardlibrary)中,具有安全性问题,比如在读取字符时,若不指定%s的宽度,可能会导致缓冲区溢出。VS编译器认为直接使用C语言定义的函数scanf()不检查边界,使用VS编辑器编写C语言代码时,调用。函数输入内容时候报错。错误代码C4996。...
VS2019中输入scanf( )报错解决办法
qq_42748165的博客
11-04 267
我的电脑这个文件路径是:D:\sofe\Visual studio 2019\VS\Common7\IDE\VC\VCProjectItems,每个人不一样哈),可以直接将下面两条指令输进去,然后保存。1、首先大家点击VS 2019的快捷方式,右击鼠标,点击【属性】,看到它的文件夹目录,将其复制下来,然后按照目录查找到IDE文件夹下。2、但是可能还会出现一些下面这种情况,就是会有绿色线条,(对于有强迫症的同学来说,简直不能忍)这时可以将以下指令输入,放在。复制下来,然后输入以下的指令,
解决VS编译器scanf函数报错问题
embrace99的博客
06-24 813
在代码最顶端输入#define _CRT_SECURE_NO_WARNINGS。缺点是每次写完代码都要在顶端加上这句话,不够方便。(注意:#define _CRT_SECURE_NO_WARNINGS一定要放在最顶端,否则依然会报错!int a = 0;int b = 0;return 0;
【使用Visual Studio 2019编译C语言scanf()输入函数报错解决方案】
weixin_56732942的博客
06-30 414
使用Visual Studio 2019编译C语言scanf()输入语法报错,此 scanf()函数不安全,建议使用Visual studio自带的scanf_s()函数方法1.在代码第一行输入#define _CRT_SECURE_NO_WARNINGS 1 方法2.(使用记事本修改.cpp文件,让以后新建.C项目软件都自动加上上面这行代码)......
C语言学习9:This function or variable may be unsafe. (Visual Studio 2013关于scanf函数报错解决办法)
Gavin的博客
01-09 566
VS2013提示函数不安全的解决方法
【C 语言Visual Studio 使用 scanf 函数报错scanfscanf_s 函数
Moriafly的博客
05-09 1287
scanfscanf_s 在 Visual Studio 使用 scanf 会出现以下报错: 错误 C4996 ‘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_s 。 解决
五种办法解决vs_2019scanf报错问题
m0_73936730的博客
07-10 2041
在运用vs学习c语言的过程中,我们发现在一些测试平台上运行成功c代码放到vs上无法运行成功。原因有的情况就是scanf报错,这也是我在新学c语言时遇到过的问题,下面给出几种我的解决办法。这是一段很简单的代码,运行之后我们看看发生了什么。
visual studio 2019 输出函数(scanf)为什么用不了?
ChengYuanCY的博客
12-31 7792
visual studio 2019的输出函数-- scanf 问题如果scanf函数下面有波浪线,且程序运行不出来。解决这个问题我们只需要将scanf写成scanf_s即可。 如果scanf函数下面有波浪线,且程序运行不出来。 如下图所示: 解决这个问题我们只需要将scanf写成scanf_s即可。 测试代码: # include <stdio.h> int main(void){...
关于在VS2019里面无法直接使用scanf
weixin_45836700的博客
04-26 548
在vs2019里面无法直接使用scanf函数。在我们学习C语言的时候所学的取值语句就是scanf语句,但是为什么在vs2019里面编译时会报错呢?编译器同时提供给了我们两个解决办法: 1.使用scanf_s来代替scanf; 2.在程序第一行加上一个宏 #define _CRT_SECURE_NO_WARNINGS 首先先了解一下scanfscanf_s的区别 scanf()函数是标准C中提供的标准输入函数,用户输入数据 scanf_s()函数是Microsoft公司VS开发工具提供的一个功能相同的安
一劳永逸的解决vs2019不能使用scanf函数问题
weixin_54990740的博客
09-21 325
在VS中scanf函数会被编译器认为是不安全的,要使用vs中的scanf_f才可以正常运行。
Visual Studio不可使用scanf
muzi_87的博客
10-25 2762
问题描述: 如果你初次使用Visual Studio2013时,使用scanf()它会报下面的错误 看不清的话可以看下面的 error C4996: ‘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. 原因分析: 以上报错的意
一劳永逸解决Visual Studioscanf()函数报错问题
最新发布
Elaborate51376的博客
03-16 2018
介绍了Visual Studio中直接使用scanf函数报错的一个一劳永逸的解决方案
关于Visual Studio软件scanf报错
Dirty_artist的博客
10-16 1081
关于Visual Studio 使用scanf报错解决方法
Visual Studio(VS)无法使用scanf函数解决方案
热门推荐
qq_45467199的博客
07-30 1万+
当我们在VS使用scanf函数是,会出现如下情况: 用有道词典翻译译文如下: 解决方案:1.把scanf改为scanf_s即可(VS不支持使用scanf函数); 2.在程序最前面加#define_CRT_SECURE_NO_DEPRECATE或者#define_CRT_SECURE_NO_WARNINGS或者#pragma warning(disa...
Visual Studio 2022 中使用scanf报错解决方法(一次性解决
鸽芷咕的博客
07-25 4039
初学者在用 vs 2022的时候难免会出现 scanf 报错问题!那么为什么会出现这样的问题呢?这篇文章帮你全面解答!
关于Visual Studio2019的4996错误警告解决方法
Keep_Trying_Go的博客
07-17 836
1.点击“项目” 2.选择“属性” 3.点击“c/c + + ” 4.点击“高级” 5.编辑 “禁用特定警告” 属性以添加 4996
visualstudio怎么使用scanf函数
01-04
Visual Studio中使用scanf函数,你可以按照以下步骤进行设置: 1. 在代码文件的开头添加以下宏定义: ```c #define _CRT_SECURE_NO_WARNINGS ``` 这个宏定义可以禁用Visual Studio对于scanf函数的安全警告。 2. 在代码中使用scanf函数来读取输入。例如: ```c #include <stdio.h> int main() { int num; printf("Enter a number: "); scanf("%d", &num); printf("You entered: %d\n", num); return 0;} ``` 这个例子中,scanf函数用来读取用户输入的整数,并将其存储在变量num中。 请注意,scanf函数的格式字符串中需要指定要读取的数据类型,例如"%d"表示读取整数。另外,为了正确读取输入,需要使用取地址运算符"&"将变量的地址传递给scanf函数
写文章

热门文章

  • Visual Studio 2019 详细安装教程(图文版) 39588
  • Dev-C++详细安装教程及中文设置(附带安装包链接) 18708
  • Visual Studio 2019 实用功能设置(背景颜色,代码字体及行号设置) 4988
  • 【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明 4586
  • 【Qt 学习笔记】Qt常用控件 | 多元素控件 | Table Widget的说明及介绍 4526

分类专栏

  • 软件测试 7篇
  • 小鸭杂谈 1篇
  • Python 2篇
  • C语言 21篇
  • 数据结构 11篇
  • C++ 10篇
  • Linux 10篇
  • Qt 60篇
  • LeetCode刷题 1篇
  • 前端 7篇
  • 软件安装及使用教程 11篇

最新评论

  • Visual Studio 2019 详细安装教程(图文版)

    sisodejdie: 最后一步运行代码后显示无法启动程序,修改路径代码系统找不到指定文件怎么办?

  • Visual Studio 2019 详细安装教程(图文版)

    2401_87873829: 根安装路径不能与包缓存路径重叠怎么办

  • 【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明

    岑之记: 入门解释详细,点个赞

  • 【Qt 学习笔记】Qt常用控件 | 显示类控件 | Label的使用及说明

    weixin_41182818: 学习qt中,打卡

  • 【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框

    weixin_41182818: 很不错,新手一看就懂

最新文章

  • 【软件测试专栏】自动化测试函数篇
  • 【软件测试专栏】自动化测试概念篇
  • 【软件测试专栏】测试分类篇
2024
09月 6篇
08月 7篇
07月 2篇
06月 12篇
05月 27篇
04月 30篇
03月 9篇
2023年39篇

目录

目录

评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Duck Bro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家六安欧式玻璃钢雕塑供应商玻璃钢花盆户外郑州云南玻璃钢鹿雕塑喷泉雕塑狮子头玻璃钢雕塑金山商场美陈河南现代人物玻璃钢雕塑合肥卡通玻璃钢雕塑商水玻璃钢雕塑厂家新密玻璃钢校园雕塑游乐园门头玻璃钢雕塑广安成都商场美陈东营玻璃钢卡通雕塑厂家批发信阳公园景观玻璃钢仿铜雕塑厂家河北玻璃钢雕塑售价梅州玻璃钢景观雕塑定制开封铜玻璃钢景观雕塑邵阳商场国潮美陈辽宁玻璃钢雕塑师招聘玻璃钢狐狸雕塑宣城玻璃钢动物雕塑江苏常用商场美陈价格淮北卡通玻璃钢雕塑人物玻璃钢蘑菇雕塑公司苏州玻璃钢雕塑报价玻璃钢关公雕塑平凉仿真人物玻璃钢雕塑定制娄底玻璃钢雕塑河北玻璃钢雕塑厂家电话安徽玻璃钢卡通雕塑价格玻璃钢雕塑蔬菜水果香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化