VS2019 error C4996: ‘scanf‘: This function or variable may be unsafe 错误

2023-05-16

目录

  • 一、异常错误
  • 二、原因
  • 三、解决方法
    • 1.替换scanf函数
    • 2.添加宏定义
    • 3.关闭安全开发生命周期(SDL)检查

一、异常错误

 - error C4996: 'scanf': This function or variable may be unsafe.
   Consider using scanf_s instead. To disable deprecation, use
   _CRT_SECURE_NO_WARNINGS. See online help for details.

二、原因

  • 安全检测
  • 错误C4996:“scanf”:此函数或变量可能不安全。考虑改用scanf_s。要禁用否决,请使用_CRT_SECURE_NO_WARNINGS。有关详细信息,请参阅联机帮助。

三、解决方法

1.替换scanf函数

  • 采用scanf_s结尾的安全版本

2.添加宏定义

  • 在头文件包含的最前面,include的前面
  • 加上:#define _CRT_SECURE_NO_WARNINGS宏定义即可

3.关闭安全开发生命周期(SDL)检查

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS2019 error C4996: ‘scanf‘: This function or variable may be unsafe 错误 的相关文章

  • While循环第二次忽略scanf

    include
  • 从十六进制 istream 中读取双精度值

    Given double foo我可以使用十六进制格式字符串分配它sscanf像这样 sscanf 0XD lg foo 但我似乎无法得到istringstream以同样的方式行事 所有这些都只需写入 0 即可foo istringstre
  • 使用 sscanf 迭代

    我对 sscanf 函数了解不多 但我想做的是迭代一行整数 给定变量 char lineOfInts 我已将其作为注册用户输入的行 我能够很好地获得输入 但是当我尝试使用 sscanf 时 我想迭代每个 int 我知道如果我知道之前会有多少
  • 将 scanf 与 x86-64 GAS 组件结合使用

    我在尝试调用系统函数 scanf 以在我的 x86 汇编程序中工作时遇到了很多问题 目前我已经让它从标准中读取 但是它只会读取没有段错误的字符 我不知道为什么 指定字符串是 d 我在网上看到的 x86 中的 scanf 示例使用 quark
  • C,从单个输入行读取多个数字(scanf?)

    我用 C 编写了一个应用程序 需要输入两行 第一个输入告诉 int 数组有多大 第二个输入包含由空格分隔的值 例如 输入以下内容 5 1 2 3 4 99 应该创建一个包含 1 2 3 4 99 最快的方法是什么 我的问题是读取多个数字而不
  • 从 setter 方法返回 *this 时,对象变得不可变

    我正在了解这个指针 它包含调用该函数的当前对象的地址 但是当我从成员函数返回当前对象时 我对这个指针有疑问 include
  • 在什么情况下“this”指针被传递给类方法? [复制]

    这个问题在这里已经有答案了 我正在阅读 this 指针 我想我比原来更了解它 但我仍然需要一些澄清 所以 根据我的理解 如果你有 class Simple private int m nID public Simple int nID Se
  • 在java构造函数中传递“this”

    查看以下代码 public class ClassA private boolean ClassAattr false public ClassA ClassAHandler handler new ClassAHandler this p
  • JavaScript 丢失带有私有/公共属性的“this”对象引用

    我在运行以下页面时出现以下错误 this testpublic 不是一个函数 test function var testprivate function this testpublic this testpublic function c
  • 为什么 scanf() 需要“%lf”来表示双精度数,而 printf() 只需使用“%f”就可以了?

    为什么会这样scanf 需要l in lf 当读一个double when printf 可以使用 f 无论它的参数是否是double or a float 示例代码 double d scanf lf d printf f d 因为对于采
  • 何时在 Java 中使用“this”

    我为我的琐碎且可能愚蠢的问题道歉 但我对在使用方法或访问某些内容时何时使用 this 前缀感到有点困惑 例如 如果我们看 4 这里 http apcentral collegeboard com apc public repository
  • scanf:内部带有宏(#define 常量)的模板

    我有一些像这样的代码 define MAXSIZE 100 int main char str MAXSIZE 1 scanf 100s str 问题是我仍然有 幻数 100 尽管定义了 MAXSIZE 有没有办法正确地将 MAXSIZE
  • 使用带有指向字符的指针的 scanf 函数

    我写了下面的代码 int main char arrays 12 char pointers scanf s arrays scanf s pointers printf s arrays printf s pointers return
  • Typescript 中此子范围的问题

    This is ALMOST和其他人一样this到目前为止 我已经读过范围界定问题 除了一个细微的差别之外 这使得提出这个问题变得有意义 imo 现在最初我的问题是范围this使用 Knockout 和 Typescript 因此给出以下内
  • 有没有办法限制C中的scanf?

    我正在尝试编写一个正确的控制台应用程序以供链接列表使用 因此我需要在无限循环中扫描多个命令 并根据 switch case 选项执行某些操作 所以我为此使用 scanf 但问题是当下一行不包含数字时它会循环并开始打印甚至不是默认值 whil
  • jQuery/JavaScript“this”指针混淆

    当函数时 this 的行为bar被称为让我困惑 请参阅下面的代码 当从单击处理程序调用 bar 时 有什么方法可以将 this 安排为普通的旧 js 对象实例 而不是 html 元素 a class with a method functi
  • PHP fscanf 与 fgets

    我可以使用读取一行中的整个字符串fgets but fscanf 没有这样做 根据PHP手册 fscanf 根据格式解析文件的输入 功能fscanf 类似于sscanf 但它从与句柄关联的文件中获取输入 并根据指定的格式解释输入 这在文档中
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • C - sscanf 不忽略空格

    我正在读取文本文件并使用逗号作为分隔符 下面的行确实有效 但是当我打印出 lname 时 它 不会忽略逗号后面的空格并在名称之前打印空格 如何调整代码以忽略空格 文本示例 罗布 史密斯 4 12 岁 某某史蒂夫 琼斯 41 286 某个文本

随机推荐