VS中scanf为何会报错详解

 更新时间:2023年02月21日 09:17:46   作者:老明l  
在我们刚使用vs时,在使用scanf函数时常会遇到报错提醒,下面这篇文章主要给大家介绍了关于VS中scanf为何会报错的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

发现问题 

简单来讲,scanf会强行输入内容,所以是不安全的。

我们来看这样的例子:

#include <iostream>
using namespace std;

int main()
{
	char demo[3];
	scanf("%s", demo);
	return 0;
}

对于以上代码,当我们输入字符不超过3时,程序可以正常运行,但当我们输入字符大于3,scanf仍将所有输入字符存入数组,这显然会导致数组的错误访问,因此VS认为scanf是不安全的。

解决办法

第一,我们可以使用scanf_s,它是VS提供的,但若使用它将意味着程序只能在VS编译器运行,显然是不合理的。

第二种方法是在程序开头加上”#define _CRT_SECURE_NO_WARNINGS 1“

请添加图片描述

但是如果我们每次打开都需要输入的话是比较麻烦的。因此,我们可以搜索new++file.cpp文件将该句子加到文件当中,以后在创建新的程序时VS就会自动在开头加上。

路径参考:D:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems

找到文件后使用记事本打开并输入”#define _CRT_SECURE_NO_WARNINGS 1“即可,如图。

请添加图片描述

总结 

到此这篇关于VS中scanf为何会报错的文章就介绍到这了,更多相关VS中scanf报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++类模板实战之vector容器的实现

    C++类模板实战之vector容器的实现

    本文我们将做一个类模板实战-手写精简版vector容器。让我们自己封装一个数组类,可以适应基本数据类型和自定义数据类型,感兴趣的可以了解一下
    2022-07-07
  • C++中引用的相关知识点小结

    C++中引用的相关知识点小结

    引用是C++一个很重要的特性,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量或对象的操作完全等价,这篇文章主要给大家总结介绍了C++中引用的相关知识点,需要的朋友可以参考下
    2022-03-03
  • C语言在linux下编程详解

    C语言在linux下编程详解

    这篇文章主要介绍了linux下基于C语言的编程,实例分析了基本使用技巧与相关概念,具有一定参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • C++解决输出链表中倒数k个结点的问题

    C++解决输出链表中倒数k个结点的问题

    这篇文章主要给大家介绍了关于如何利用C++解决输出链表中倒数k个结点的问题,文中通过实例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友可以参考下
    2021-12-12
  • C语言简明介绍指针的使用

    C语言简明介绍指针的使用

    C语言这门课程在计算机的基础教学中一直占有比较重要的地位,然而要想突破C语言的学习,对指针的掌握是非常重要的,本文将具体针对指针的基础做详尽的介绍
    2022-06-06
  • C++中sting类的简单实现方法

    C++中sting类的简单实现方法

    这篇文章主要介绍了C++中sting类的简单实现方法的相关资料,需要的朋友可以参考下
    2016-08-08
  • C++设置事件通知线程工作的方法

    C++设置事件通知线程工作的方法

    这篇文章主要介绍了C++设置事件通知线程工作的方法,是Windows应用程序设计中非常实用的技巧,需要的朋友可以参考下
    2014-10-10
  • C++ Primer学习记录之变量

    C++ Primer学习记录之变量

    这篇文章主要为大家介绍了C++Primer之变量,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C/C++ QT实现自定义对话框的示例代码

    C/C++ QT实现自定义对话框的示例代码

    对话框分为多种,常见的有通用对话框,自定义对话框,模态对话框,非模态对话框等,本文主要介绍了QT自定义对话框,感兴趣的可以了解一下
    2021-11-11
  • C语言使用普通循环方法和递归求斐波那契序列示例代码

    C语言使用普通循环方法和递归求斐波那契序列示例代码

    这篇文章主要介绍了C语言使用普通循环方法和递归求斐波那契序列示例代码,大家参考使用吧
    2013-11-11

最新评论