【技能篇】解决Vs编译器scanf等函数不安全问题

说在前面

大家刚开始学习编程的时候,使用vs编译器。使用scanf等函数的时候遇到的安全性问题,无法使用,今天博主带着大家解决这个问题。

博主给大家的福利

那么这里博主先安利一下一些干货满满的专栏啦!

数据结构专栏:手撕数据结构 这里包含了博主很多的数据结构学习上的总结,每一篇都是超级用心编写的,有兴趣的伙伴们都支持一下吧!
算法专栏:算法 这里可以说是博主的刷题历程,里面总结了一些经典的力扣上的题目,和算法实现的总结,对考试和竞赛都是很有帮助的!
力扣刷题专栏:跟着博主刷Leetcode 想要冲击ACM、蓝桥杯或者大学生程序设计竞赛的伙伴,这里面都是博主的刷题记录,希望对你们有帮助!
C的深度解剖专栏:C语言的深度解剖 想要深度学习C语言里面所蕴含的各种智慧,各种功能的底层实现的初学者们,相信这个专栏对你们会有帮助的!

解决方案

一、我们先看看IDE给出的问题描述

存在的问题就是scanf函数输入不安全,其实在vs编译器环境下,这种不安全的函数有很多。
为了解决这个问题,编译器给了两种方法

  • 第一种是scanf_s函数代替scanf函数,也就是在不安全函数后面加上_s来代替。
  • 第二种是使用宏_CRT_SECURE_NO_WARNINGS

如果我们采用第一种方式,其实非常麻烦,因为只有vs编译器环境下才会报这种错误,scanf_s在别的编译器下是跑不过的,第一种方式会让程序的可移植性大大下降!

第二种方法就是每次打开新源文件的时候,在开头加上一个宏,但是这样,我们每次打开新文件都要加一次,很麻烦。

在这里博主教给大家一个一劳永逸的方式。

解决过程

总体来说就是直接在后台的新文件中加上那个宏,以后我们每次打开都直接出现#define _CRT_SECURE_NO_WARNINGS 1这句话。


第一步:找到后台newc++file.cpp这个文件
我们先找到vs的图标,找到属性中的位置,复制一下,在文件路径中打开。


第二步:找到这个文件之后,复制到桌面,进行改动

复制到桌面的原因是,直接在文件夹里面改,我们没有权限操作。

操作完成之后将.cpp文件复制回原文件夹,就大功告成了!

以后我们每次打开新源文件,都直接会有这句话了!

尾声

看到这里,相信你已经学会如何解决这个问题了,如果你感觉这篇博客对你有帮助的话,不要忘了一键三连哦!

【技能篇】解决vs编译器scanf等函数不安全问题【手把手操作-一分钟解决】的更多相关文章

  1. 小猪猪C++笔记基础篇(六)参数传递、函数重载、函数指针、调试帮助

    小猪猪C++笔记基础篇(六) ————参数传递.函数重载.函数指针.调试帮助 关键词:参数传递.函数重载.函数指针.调试帮助 因为一些事情以及自己的懒惰,大概有一个星期没有继续读书了,已经不行了,赶紧 ...

  2. MFC中 CString类型用fprintf 函数写到文件中乱码的解决办法

    在上一篇中记录了用fprintf函数写内容到文件中的方法,但是发现了问题:产生的文件字符串有乱码现象. 解决办法:用_ftprintf函数 另外,据说: unicode的话要用fwprintf    ...

  3. 菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程

    菜鸟nginx源代码剖析 框架篇(一) 从main函数看nginx启动流程 Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.c ...

  4. Python之路【第五篇】python基础 之初识函数(一)和文件管理

    转载请注明出处http://www.cnblogs.com/wupeiqi/articles/5453708.html 函数 一.背景                                 ...

  5. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  6. Python开发【第四篇】:Python基础之函数

    三元运算 三元运算(三目运算),是对简单的条件语句的缩写. ? 1 2 3 4 5 # 书写格式   result = 值1 if 条件 else 值2   # 如果条件成立,那么将 “值1” 赋值给 ...

  7. 基于函数的I/O操作(头文件stdio.h)

    基于函数库的I/O是C语言标准库的功能,基于系统级I/O函数实现. 系统级I/O函数对文件的标识是文件描述符,C语言标准库中对文件的标识是指向FILE结构的指针.在头文件cstdio或stdio.h中 ...

  8. Tensorflow BatchNormalization详解:4_使用tf.nn.batch_normalization函数实现Batch Normalization操作

    使用tf.nn.batch_normalization函数实现Batch Normalization操作 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 吴恩达deeplearnin ...

  9. 第十三篇:multimap容器和multiset容器中的find操作

    前言 multimap容器是map容器的“ 增强版 ”,它允许一个键对应多个值.对于map容器来说,find函数将会返回第一个键值匹配元素所在处的迭代器.那么对于multimap容器来说,find函数 ...

  10. 直接引用MrAdvice.dll文件不能实现AOP拦截,教你1分钟解决这个问题

    直接引用MrAdvice.dll文件不能实现AOP拦截,教你1分钟解决这个问题.近日工作中,要实现一个功能,那就是业务层方法里面实现自动缓存.编写业务的C#开发人员只关注如何将业务代码编写正确就可以了 ...

随机推荐

  1. zzuli 1023

    java 读入单个字符 import java.util.Scanner; public class Main{ public static void main(String args[]){ Sca ...

  2. pmp考试巩固知识点

    1.冲刺评审会是需要相关的干系人参加的,在冲刺评审会上干系人可以审查并澄清角色.责任和管理模式2.采购中的争议,往往找合同和SOW,SOW是对需要采购的详细范围的描述,与供应商在可交付成果方面有争议时 ...

  3. 项目启动一直 DruidDataSource inited,启动很慢

    解决方案: 由于在调试过程中,代码中设置了断点,在启动的时候,服务就一直卡住了,当关闭断点,重新启动就ok了.

  4. 13个构建RESTful API的最佳实践

    前言 Facebook.GitHub.Google和其他许多巨头都需要一种方法来服务和消费数据.在今天的开发环境中,RESTful API仍然是服务和消费数据的最佳选择之一. 但你是否考虑过学习行业标 ...

  5. phpcms : Uncaught Error: [] operator not supported for strings... 的解决方案

    打开/phpcms/modules/admin/classes/push_api.class.php,大概在约 141行, $fields_arr = $fields_value = ''; 将它改为 ...

  6. Laravel - 修改时间戳

    将 config/app.php文件下将timezone的值改成Asia/Shanghai即可

  7. [转帖]rsync工作原理

    1)软件简介 Rsync 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件.Rsync 本来是用以取代rcp 的一个工具,它当前由 Rsync.samba.org 维护.Rsy ...

  8. K8S增加限制后的启动时间验证

    K8S增加限制后的启动时间验证 背景 前段时间看了下JVM载linux上面的启动时间, 进行过一些验证. 最近想着能够验证一下K8S上面的启动相关的信息 所以就整理了一下. 虽然没有特别好的结论, 但 ...

  9. [转帖]SQL Server 性能调优

      性能调优2:CPU   关系型数据库严重依赖底层的硬件资源,CPU是服务器的大脑,当CPU开销很高时,内存和硬盘系统都会产生不必需要的压力.CPU的性能问题,直观来看,就是任务管理器中看到的CPU ...

  10. [转帖]实用小技能:一键获取Harbor中镜像信息,快捷查询镜像

    [摘要]一键获取Harbor中的镜像列表,无需登录harbor UI,也可批量下载镜像到本地并保存为tar包.本文已参与「开源摘星计划」,欢迎正在阅读的你加入.活动链接:https://github. ...