VS中scanf函数报错问题的几种解决方法

 更新时间:2023年07月25日 14:57:29   作者:南风与鱼  
本文主要介绍了VS中scanf函数报错问题的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

引言:

相信很多小伙伴在第一次使用scanf函数时大概率会遇到系统报错的问题(如下图所示)。翻译过来就是:“scanf这个函数或者变量可能不安全 ,考虑使用scanf_s替换,如果想让报错失效的话,请使用 _CRT_SECURE_NO_WARNINGS”。但这个报错只针对VS编译器,因为VS比较严谨,其它编译器不会出现这种情况。

那么这个时候我们该怎么办呢?接下来我就将解决这个问题的几种方法一一列举出来,有需求的小伙伴可以参考一下。

方法一:

根据报错提示将scanf函数替换成scanf_s即可。但是因为scanf_s这个函数是VS提供的,其它编译器没有。所以说,如果你在代码中使用了scanf_s函数,代码就不跨平台了(即没有了可移植性),所以并不推荐大家使用这种方法。

方法二:

在使用scanf函数的.c文件的第一行加入 #define  _CRT_SECURE_NO_WARNINGS

正确示范:

错误示范:

 注意:1.define与_CRT_SECURE_NO_WARNINGS之间要有空格,不然依旧会出错。

            2.添加的这行代码一定要放在.c文件的第一行,一定要放在.c文件的第一行,一定要放在.c文件的第一行(重要的事情说三遍)。

 缺陷:使用这种方法,每个.c源文件都需要手动添加,比较麻烦。

方法三:

让某一个警告或者错误失效,我们可以看到这个.c文件错误码的编号叫4996。

可以在程序的开头加入这样一行代码☞ #pragma warning(disable:4996) ,这样系统就不会再有报错信息啦!

注: 这种方法只适用于这个工程,只针对这个错误码来解决报错,不够一劳永逸。

方法四:(☪强烈推荐这种方法,绝对的一劳永逸)

在VS中有一个文件☞ newc++file.cpp,找到这个文件,在这个文件中加入 #define  _CRT_SECURE_NO_WARNINGS,以后新建的.c文件中自动就会有这一行代码。

具体步骤如下:

1.打开文件资源管理器,找到你的VS安装路径,里面有个 newc++file.cpp文件

2.将 newc++file.cpp文件拷贝(Ctrl+c)一份,复制(Ctrl+v)到桌面

 3.在桌面上将文件用记事本打开

4.将 #define  _CRT_SECURE_NO_WARNINGS输入到记事本后保存退出

5.将改完后的文件拷贝到原来的位置,替换掉以前的文件,下次再创建新的源文件时就会自动写入#define  _CRT_SECURE_NO_WARNINGS

到此这篇关于VS中scanf函数报错问题的几种解决方法的文章就介绍到这了,更多相关VS scanf函数报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C迷途指针详解

    C迷途指针详解

    这篇文章主要介绍了C迷途指针,迷途指针又称为悬空指针、野指针,其对C程序的安全性与稳定性影响巨大,本文对其原理与检测方法做了较为详尽的分析,需要的朋友可以参考下
    2014-09-09
  • C++ const关键字的实例用法

    C++ const关键字的实例用法

    在本篇文章里小编给大家整理的是一篇关于C++ const关键字的实例用法,需要的朋友们可以学习下。
    2020-02-02
  • C++实现对象化的矩阵相乘小程序

    C++实现对象化的矩阵相乘小程序

    这篇文章主要为大家详细介绍了C++实现对象化的矩阵相乘小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 使用c++11 constexpr时遇到的坑详解

    使用c++11 constexpr时遇到的坑详解

    c++11 constexpr将变量声明为constexpr类型以便由编译器来验证变量是否是一个常量表达式,这篇文章主要给大家介绍了关于使用c++11 constexpr时遇到的坑,需要的朋友可以参考下
    2021-05-05
  • C语言中你容易忽略的知识点与技巧总结

    C语言中你容易忽略的知识点与技巧总结

    这篇文章主要给大家介绍了关于C语言中你容易忽略的知识点与技巧,文中通过实例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • C++14新特性的所有知识点全在这

    C++14新特性的所有知识点全在这

    这篇文章主要介绍了C++14新特性的所有知识点全在这,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • C++模拟键盘按键的实例

    C++模拟键盘按键的实例

    今天小编就为大家分享一篇C++模拟键盘按键的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • C语言初识变量常量字符串转义符及注释方式简介

    C语言初识变量常量字符串转义符及注释方式简介

    最强的C语言笔记,此处对于C语言的基础部分做一个简要的介绍,作者实属初学,写博客也是作者学习的一个过程,若文中内容有理解不到位或者有不当之处,还请朋友们不吝指正
    2021-11-11
  • QT网络通信TCP客户端实现详解

    QT网络通信TCP客户端实现详解

    这篇文章主要为大家详细介绍了QT网络通信TCP客户端实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • c++11中regex正则表达式示例简述

    c++11中regex正则表达式示例简述

    这篇文章主要给大家介绍了关于c++11中regex正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c++11具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11

最新评论