C | 关于VS编译器的scanf、字符操作函数报错不安全
【摘要】 【摘要】许多使用VS编译器的铁汁都会遇到这类报错,使用scanf、strcat、strerror等,都会报错认为它们不安全,让我们看看如何处理叭~
啊我摔倒了..有没有人扶我起来学习....
你好,我是CGod,每个人都可以5分钟编程。
欢迎来到我的主页:《CGod的后花园》
前言
许多使用VS编译器的铁汁都会遇到这类报错,使用scanf
、strcat
、strerror
等,都会报错认为它们不安全,让我们看看如何处理叭~
一、报错描述
- 这边拿
scanf
举例子
int n;
scanf("%d",&n);
二、解决方案
1. 用scanf_s代替scanf
- 提示
scanf
不安全,可以选择用scanf_s
。确实可以解决问题,但是博主这边不建议使用scanf_s
,因为这个函数只有VS编译器认识,没有良好的可移植性
2. 使用_CRT_SECURE_NO_WARNINGS
- 一定要记住,必须将这段代码放在整个源文件的==首行==
#define _CRT_SECURE_NO_WARNINGS 1
三、一劳永逸
- 本来该问题已经算解决了,但是博主心疼铁汁们的手,每次创建源文件都要输入一次
#define _CRT_SECURE_NO_WARNINGS 1
岂不是太麻烦啦,于是博主来教教大家如何一劳永逸~
- 咱们需要找到VS的一个文件(
newc++file.cpp
) - 这边博主推荐下载一个小东西(
Everything
——本地电脑的搜索软件)
- 用
Everything
快速搜索出newc++file.cpp
的所在
- 用记事本打开
newc++file.cpp
,把
#define _CRT_SECURE_NO_WARNINGS 1
拷贝进去保存
- 以后每次创建新的源文件,首行就会自动存在
#define _CRT_SECURE_NO_WARNINGS 1
关于第4点,可能有些铁汁会遇到没有权限打开
newc++file.cpp
的问题,这时咱就把newc++file.cpp
==复制粘贴==到桌面上打开修改,修改完再拖进原文件位置进行替换,记住,一定是复制粘贴出来,不要拖出来,拖出来原路径就没有该文件了
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)