【技能篇】解决vs编译器scanf等函数不安全问题【手把手操作-一分钟解决】
【技能篇】解决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
文件复制回原文件夹,就大功告成了!
以后我们每次打开新源文件,都直接会有这句话了!
尾声
看到这里,相信你已经学会如何解决这个问题了,如果你感觉这篇博客对你有帮助的话,不要忘了一键三连哦!