当前位置: 首页 > news >正文

VS编译器对scanf函数不安全报错的解决办法(详细步骤)

C语言

📚博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》

❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️

🙏小杨水平有限,欢迎各位大佬指点,相互学习进步!


文章目录

  • 前言
  • 解决方法
    • 方法一:
    • 方法二:
    • 方法三:
  • 总结

前言

为什么同一份代码在Dev-c++编译器中能正常运行,而在VS中则报错呢?

image-20240205215018394

原因:scanf此函数或变量可能不安全,要禁用弃用,所以上诉代码在VS中会报错

image-20240205215941253

解决方法

方法一:

scanf替换为scanf_s (不推荐)

image-20240205222131571

scanf_s这个函数仅仅是VS这个编译器提供的,如果把代码放到其他编译器可能会编译不过,这个时候会出现一些跨平台的问题。

方法二:

定义预定义符号_CRT_SECURE_NO_WARNINGS

在代码第一行输出:

#define _CRT_SECURE_NO_WARNINGS

image-20240205221648079

一劳永逸的方法

可以让每一次新建的源文件中就包含这句代码:

方法:在VS的安装路径下搜索:newc++file.cpp这个文件

image-20240205222416188

在文件中加上:

#define _CRT_SECURE_NO_WARNINGS

以后创建的的新的.c或者.cpp文件中都会自动有这句代码。

PS:如果觉得系统的搜索太慢的,可以下载Everything这个软件

方法三:

设置项目属性的预处理

打开工程的【解决方法资源管理器】->【属性】

image-20240205222716011

在属性页中:

【属性配置】->【C/C++ ->预处理器】->【预处理定义】中增加:

_CRT_SECURE_NO_WARNINGS,每个符号都用分号隔开的

然后应用就可以了。

image-20240205223122266

这种方法,每次项目都要设置,比较麻烦。

总结

个人推荐使用方法二,一劳永逸。

在这里插入图片描述

相关文章:

  • LeetCode、790. 多米诺和托米诺平铺【中等,二维DP,可转一维】
  • 安卓动态链接库文件体积优化探索实践
  • 大型装备制造企业案例分享——通过CRM系统管理全球业务
  • IEC61499 学习记录
  • 计算机网络——03网络核心
  • 视频融合平台EasyCVR推流成功但平台显示不在线是什么原因?
  • tee漏洞学习-翻译-2:探索 Qualcomm TrustZone的实现
  • 蓝桥杯刷题day07——斐波那契与7
  • 政安晨:示例演绎Python的函数与获取帮助的方法
  • git的奇特知识点
  • 【python】绘制爱心图案
  • mcu短时间内发生多次中断,如何解决中断丢失问题?
  • JAVA原型模式详解
  • 物联网ARM开发-STM32之RTC浅谈
  • MQ,RabbitMQ,SpringAMQP的原理与实操
  • echarts花样作死的坑
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • IDEA 插件开发入门教程
  • js数组之filter
  • node.js
  • Redux系列x:源码分析
  • session共享问题解决方案
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 关于 Cirru Editor 存储格式
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 近期前端发展计划
  • 盘点那些不知名却常用的 Git 操作
  • 树莓派 - 使用须知
  • 线上 python http server profile 实践
  • 我们雇佣了一只大猴子...
  • ​linux启动进程的方式
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (9)目标检测_SSD的原理
  • (C#)一个最简单的链表类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (转)大道至简,职场上做人做事做管理
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .htaccess 强制https 单独排除某个目录
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 分布式技术比较
  • .net 获取url的方法
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET的数据绑定
  • .NET简谈设计模式之(单件模式)