VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法

这篇具有很好参考价值的文章主要介绍了VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在我们对VS的刚开始使用时,经常会遇见函数不安全而报错的问题,如

vs2019printf函数用不了,c++,开发语言,经验分享

 有如下三种解决办法(个人推荐第三种):

1.文件包含 #define _CRT_SECURE_NO_WARNINGS
这里又分为两种情况:

(1)在 .c 文件中
有些项目比较简单,可能一个.c文件就能完成代码,这个时候把#define _CRT_SECURE_NO_WARNINGS 放在当前.c文件的第一行就可以了(注意:一定要是第一行)。

#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
int main() {
    int a;
    scanf("%d", &a);
    printf("%d\n", a);
    return 0;
}

(2)一劳永逸的方法:

在自定义 .h 文件中在项目有自定义头文件时,也可以把 #define _CRT_SECURE_NO_WARNINGS 放在自定义的头文件中,当头文件有 #pragma once 时(防止头文件重复包含),上面的代码也可以放在其之后如

vs2019printf函数用不了,c++,开发语言,经验分享vs2019printf函数用不了,c++,开发语言,经验分享

 2.预处理器定义

项目->属性->C\C++->预处理器->预处理器定义,在右输入框中加入:

_CRT_SECURE_NO_WARNINGS并保存。

vs2019printf函数用不了,c++,开发语言,经验分享
 

 文章来源地址https://www.toymoban.com/news/detail-726341.html

3.关闭SDL检查

项目->属性->C\C++->常规->SDL检查,选择否

vs2019printf函数用不了,c++,开发语言,经验分享

我觉得第三种最好最方便,但美中不足的地方就是只适用于当前项目,新项目要重新设置。

总结:除了1.(2)的设置是适用于所有项目外,其他设置只是用于本次项目。

本人推荐第三种和第一种的第二个方法。

新手的一点学习分享,如有错误的地方还请各位指正。 

 

到了这里,关于VS中出现的printf,scanf等函数不安全而报错的问题的全面解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言】scanf和strcpy这类关键字和函数为什么不安全,使用VS编译会报错

    首先先说解决方法: 在程序最顶端加入这个代码段 这主要是微软的 C 运行时库实现将这些函数标记为不安全,主要原因是这些函数缺乏对输入长度的边界检查,容易导致缓冲区溢出漏洞。 会产生这样的报错: 即: C4996    \\\'strcpy\\\': This function or variable may be unsafe. Consider usin

    2024年02月14日
    浏览(29)
  • C语言(输入输出函数getchar,putchar、gets、puts,scanf,printf的功能以及用法)

    int getchar( void ); 返回值为int,所以需要用一个int变量来接收,不管输入几个字符,每次都只接收第一个字符,常与while和putchar配合使用。 从下面这张图可以看出,输入一个空格也会打印 当然,获取一个字符用得不多,每次都需要获取一串,所以我们可以配合while来使用。 用

    2024年02月02日
    浏览(31)
  • Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,前面一章给大家介绍了Visual Studio 2022 的安装和使用!    ⛳️ 但是 Visual Studio 2022 并不是按照标准的C语言标准,所以使

    2024年02月16日
    浏览(30)
  • Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)

    目录 【前言】 一、scanf报错示例 二、解决使用scanf报错的方法 解决方法1(不推荐) 解决方法2(不推荐) 解决方法3(强烈推荐) 第一步 第二步 第三步 三、效果演示(方法三) 【最后】 🎈个人主页:库库的里昂  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏   ✨其他

    2024年02月12日
    浏览(22)
  • C语言基本语句(变量类型int、 float、 double、 char,函数scanf、printf、putchar()、getchar() )

    1. int, float, double, char ①整型int(对应%d)  int a,b;  scanf(\\\"%d,%d\\\",a,b); printf (\\\"%d\\\",a); printf(\\\"我今天吃了%d个苹果,在黑板上写下整数%d,这很有趣。\\\",a,b); //printf(\\\"……\\\",变量名)中,“……”部分内容比较自由,可随便发挥,但必须包括%d,几个变量名就对应几个%d ②单精度型浮点数

    2024年02月08日
    浏览(26)
  • 普中STM32-PZ6806L开发板(HAL库函数实现-USART1 printf+scanf/gets)

    实现printf+scanf/gets通过USART1 的发送接收。 主芯片串口引脚图 我的板子板子自带串口坏掉了, 所以使用USB转TTL线, 连接如下 电路原理图 实物图 scanf是以空白符(空格、制表符、换行等等)为结束标志的,当遇到空白符是就会结束一次输入,如果你需要读取空格的话可以使用gets或者

    2024年02月04日
    浏览(28)
  • 【C语言趣味教程】(8) 标准 IO 流:输入和输出 | 标准输入 stdin | 标准输出 stdout | 详解 printf 和 scanf | 探讨 scanf 缓冲区问题和安全性问题

        🔗 《C语言趣味教程》👈 猛戳订阅!!! 0x00 引入:I/O 的概念 计算机中的输入和输出,简称 ,其中:  代表 Input,即输入。

    2024年02月09日
    浏览(27)
  • 关于VS报错的一种类型。0xFFFFFFFFFFFFFFF7

    引发了异常: 读取访问权限冲突。 ......是 0xFFFFFFFFFFFFFFF7。 原因:链表的结点只创建,而没有初始化。我的代码中q-tail-next=Node这行报错,是因为即使q-tail存在,但有时候VS对于q-tail-next无法读取未初始化的指针。 当然 我上面代码确实初始化了,而这跟Vs有时候会出现空指针异

    2024年02月06日
    浏览(18)
  • C语言第四弹---printf和scanf详解

    ✨ 个人主页: 熬夜学编程的小林 💗 系列专栏: 【C语言详解】 【数据结构详解】 printf函数为库函数,给uu们两个查看库函数的方式,第一个下载msdn软件进行查找相关库函数知识,第二个用cplusplus网站查询库函数(建议使用旧版的,旧版的有搜索功能)。 cplusplus网站链接 旧版

    2024年01月21日
    浏览(29)
  • Visual Studio 2019 解决scanf函数报错问题

    Visual Studio 2019 解决scanf函数报错问题 博主博客链接:https://blog.csdn.net/m0_74014525 关注博主,后期持续更新系列文章 *****感谢观看,希望对你有所帮助***** 第一篇:Visual Studio 2019 详细安装教程(图文版) 第二篇:Visual Studio 2019 实用功能设置(背景颜色,代码颜色及行号设置)

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包