您现在的位置是:网站首页> 编程资料编程资料
VS2019中scanf返回值被忽略的问题及其解决方法_其它综合_
2023-05-27 77人已围观
简介 VS2019中scanf返回值被忽略的问题及其解决方法_其它综合_
昨天在使用Visual Studio 2019编写C语言程序时遇到了scanf返回值被忽略问题
因为我也是刚开始学习C语言,第一次遇到这种问题,也不知道怎么回事,然后就上Chrome研究了一番,才知道原因,并且找到了几种分散在个个角落的解决方法,我在这里归纳总结一下。
问题原因:
在ANSI C中只有scanf(),没有scanf_s(),但是scanf()在读取时不检查边界,所以可能会造成内存泄漏。于是Microsoft公司在VS编译器中提供了scanf_s(),如果想继续使用scanf这个不安全的函数,可以通过以下方法解决。
方法①:
把scanf改成:scanf_s
这是VS编译器特有,既然觉得scanf()不安全,那它就自己定义了一个scanf_s()。
其实我是不推荐大家使用这种方法的,因为scanf_s它是vs编译器特有的,也就是说它不具有跨平台性/可移植性,在其他编译器上无法识别运行
方法②:
编译器错误提示的原因至于VS中的SDL检查,只需要找到它并关闭就可以了。
关闭步骤:右键“项目文件” —— “属性” —— “配置属性” ——“C/C++”——“常规”——“SDL检查”改为“否”即可,如图所示
改为否后,再次编译就没问题了。
方法③:
在C语言程序开头添加代码: #pragma warning(disable:4996)//全部关掉
(或者)
在C语言程序开头添加代码: #pragma warning(once:4996)//仅显示一个
方法④:
在C语言程序开头添加代码: #define _CRT_SECURE_NO_WARNINGS//忽略安全检测
每次都要加这么一串代码,是不是感觉有点费力??(我一开始找到这种方法的时候第一感觉也是这样的)
其实不用那么麻烦,这里还可以细分为两种方法:
(1)我们只需要在VS中加入 _CRT_SECURE_NO_WARNINGS 这个宏就可以了,具体操作如下图所示:
(2)在VS2019的安装路径下找到“newc++file.cpp”这个文件,用记事本的方式打开,并把这行代码复制粘贴上去,然后保存即可,这样以后每次新建.c源文件的时候这行代码就会自动出现在第一行。
【注意】如果在保存的时候出现“拒绝访问”的情况,可以测试下载安装一个工具“Notepad++”,然后以管理员的身份运行这个软件,用这个软件打开上面提到的“newc++file.cpp”文件,复制粘贴代码上去后,保存即可。
最后提到的这两种都是一次搞定,后面都不用再弄了。
我个人偏向于方法④的第(1)种方法。我也比较推荐你使用这种方法——毕竟简单而且可以说是一劳永逸
到此这篇关于VS2019中scanf返回值被忽略的问题及其解决方法的文章就介绍到这了,更多相关VS2019 scanf返回值内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- VS2019提示scanf不安全问题的解决_其它综合_
- vs2019+cmake实现Linux远程开发的方法步骤_其它综合_
- VS2019 自定义项目模板的实现方法_其它综合_
- 通过lms.samples熟悉lms微服务框架的使用详解_其它综合_
- vscode通过Remote SSH远程连接及离线配置的方法_其它综合_
- Protobuf在Cmake中的正确使用方法详解_其它综合_
- 使用postman操作ElasticSearch的方法_其它综合_
- Security安装 Elastic SIEM 和 EDR的超详细教程_其它综合_
- 关于Interlij 无法使用中文输入法的解决方法(适用于Interlij全家桶 Linux环境)_其它综合_
- Matlab使用Plot函数实现数据动态显示方法总结_其它综合_
点击排行
- TYSB手游公测版下载-TYSB官方唯一正版手游下载 _安卓网
- 青云传之琉璃梦手游下载-青云传之琉璃梦官方版下载 v5.7.0安卓版_安卓网
- 爆枪突击专用修改器下载-爆枪突击无限兑换码 v1.0.0.3辅助修改_安卓网
- 洗牌猫下载-洗牌猫(卡牌对战)Shuffle Cats v0.14.8_安卓网
- 丛林动物宝宝发型沙龙游戏-丛林动物宝宝发型沙龙(休闲装扮)Baby Jungle Animal Hair Salon v1.0.10_安卓网
- 终极奥特超人50周年版下载-终极奥特超人50周年版(奥特曼正版授权) v2.3_安卓网
- project h手机|project h安卓-project h手机版(虚拟空间女友)预约 v1.0_安卓网
- project h试玩版-project h手游试玩版预约 v1.0_安卓网