VS中报错C4996 scanf错误错误介绍解决方案
在VS中,对于初学者来说存在一些各种意想不到的错误,但比较友好的是新版本中在报错的同时会指出错误地方。以下说说VS2019中 c4996 sacnf报错的解决方法。
操作环境:win10+VS2019
错误代码:C4996
实例说明
进行报错
错误分析
严重性 |
代码 |
说明 |
错误 |
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. |
VS认为直接使用C语言定义的函数scanf不安全,而在VS编译器所提供的包括 scanf_s、wscanf_s等以_s结尾版本的函数具有安全增强功能。scanf等函数存在于版本较旧的CRT(C runtime library, part of the C standard library)中,具有安全性问题,比如在读取字符时,若不指定%s的宽度,可能会导致缓冲区溢出。
解决方案
1.使用VS中所推荐使用的方法 将scanf改为scanf_s
显示运行成功
存在问题:虽然说这种方式可以解决问题,但是实际上scanf是c语言提供的函数,可以使用大多数的编译器,而scanf_s这个函数只是VS编译器提供的一个它自身认为安全的一个版本,在其他编译器下不一定适用,不能跨版本使用。
显示运行成功
存在问题:每次新建一个项目都需多加一行代码,增加工作量。
不过也可以通过设置一个文件,里面包含这一串代码,在新建时就不用输入
1.打开visual studiod的安装位置。我用的是visual studio 2019。目录在:E:\Microsoft Visual Studio\2019\Preview\Common7\IDE\VC\VCProjectItems
2.VCProjectItems下的newc++file.cpp文件用NotPad++或者editplus方式打开,添加上 #define _CRT_SECURE_NO_WARNINGS 1,然后保存,下一次创建的时候就不需要在手动加入。
3.同第二个方法,加上一串屏蔽代码#define _CRT_SECURE_NO_WARNINGS 1
希望对你有所帮助~
VS中报错C4996 scanf错误错误介绍解决方案相关推荐
- VS中报错C4996 怎么办?
有遇到过这种错误吗?VS中报错C4996 其实这就是一些警告,但是如果你用了很多第三方的开源代码,你很难保证这些开源代码中使用的函数以及编码规范都遵循了VS最新的要求,所以很可能就会报错,注意时报错不 ...
- node+express中报错Error: request entity too large解决方案
原因: express.urlencoded()中间件默认只能解析100kb的application/x-www-form-urlencoded编码的文件,当文件大小超过100Kb就会报错 解决方案: ...
- c语言——程序出现C4996:scanf 等错误的解决方法
c语言--程序出现C4996:scanf 等错误的解决方法(不用scanf_s替换解决) 问题实例 解决方法 方法1 方法2 在VS编译器下,编写的c语言程序在调试编译时可能会出现c4996警告或错误 ...
- Centos下gcc的安装、gcc的更新、gcc安装过程中报错:make[1]: *** [stage1-bubble] 错误 2
Centos下gcc的安装.gcc的更新.gcc安装过程中报错:make[1]: *** [stage1-bubble] 错误 2 文章目录: 1 下载gcc的源码 1.1 源码下载地址: 1.2 下 ...
- 解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误
我用的是visual studio 2019,提示出错.用下面第5种办法,完美解决问题... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
- C4996 ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s instead.错误提示
最近在在使用visual studio创建C语言的时候遇到的错误: 如下: C4996 'scanf': This function or variable may be unsafe. Consid ...
- VS编译错误C4996 'scanf': This function or variable may be unsafe.
最近用VS编写代码时,老碰到这个错误: C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s i ...
- 错误C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. 最高效解决办法!!
VS2015运行出错报告:严重性 代码说明项目文件行禁止显示状态 错误 C4996 'scanf': This function or variable may be unsa ...
- visual studio报错:error C4996: ‘scanf‘
文章目录 前言 原因 解决方法 方法一:使用scanf_s 方法二:在include前面添加宏定义,注意是在最前面添加,如下图 方法三:添加头部文件,在include前后皆可 方法四:找到newc++ ...
最新文章
- DataBase 之 拉链表结构设计
- GPS定位精度单位CEP、RMS、2DRMS
- [持续更新]UnsatisfiedLinkError常见问题及解决方案
- android app 历史版本,怎么找到App的所有历史版本,以及每次改版的变更点呢?
- hdu4965 巧用矩阵乘法结合律
- python post请求参数为list_浅谈python3发送post请求参数为空的情况
- 产品经理如何通过拆产品,持续提升产品能力?附案例
- python3默认编码标准是_python3 编码
- 剑指Offer之二叉树中的和为某一路径的值
- 数控机床手动编程能否用计算机验证,数控编程的方法有几种_数控编程的步骤...
- 北大AI第八讲 李航 自然语言处理的现实与挑战
- java 读取clob字段的几种方法
- python第七天--文件练
- atitit.React 优缺点 相比angular react是最靠谱的web ui组件化方案了
- 普通的(贬义)存在感稀薄的解图工具RipFileSystem华丽的再现了
- postman中从url中获取各参数值
- 一维条码之code93码的生成和打印
- 在线购物系统——设计类
- 海归学子创新创业座谈会:龙凡教授向浙江省委书记车俊汇报 Conflux 研发进展...
- FXS/FXO, BRI/PRI, IPPBX