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

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

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

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 时(防止头文件重复包含),上面的代码也可以放在其之后如

 2.预处理器定义

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

_CRT_SECURE_NO_WARNINGS并保存。


 

 

3.关闭SDL检查

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

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

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

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

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

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值