VS2015中使用scanf()不报错的设置方法

scanf_s()函数是scanf()函数的安全版本。VS2015中使用scanf()函数,在编译时会报错

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

错误信息为“scanf()函数不安全,要使用scanf_s()来代替。如果不显示这些错误信息,则要使用_CRT_SECURE_NO_WARNINGS”。除了使用_CRT_SECURE_NO_WARNINGS之外,还可以在应用程序向导中进行设置来实现VS2015中使用scanf()函数的目的。

1 通过_CRT_SECURE_NO_WARINGS实现

可以通过以下三种方法设置_CRT_SECURE_NO_WARNINGS。

1.1 在stdafx.h中设置

在stdafx.h的起始位置,即#include语句之前加入如下代码

 

#define _CRT_SECURE_NO_WARNINGS

 

1.2 在预处理器中设置

 

在VS2015界面中,选择菜单栏“项目->XXX属性”,接下来在XXX属性页的窗口左侧中选择“配置属性->C/C++->预处理器”,之后将“_CRT_SECURE_NO_WARNINGS”加入到窗口右侧的“预处理器定义”中,如图1所示。需要注意的是,加入的项与之前存在的项之间用英语分号隔离。

 VS2015中使用scanf()不报错的设置方法_第1张图片

图1 在预处理器中设置

1.3 在命令行中设置

在VS2015界面中,选择菜单栏“项目->XXX属性”,接下来在XXX属性页的窗口左侧中选择“配置属性->C/C++->命令行”,之后在右侧的“其它选项”中添加

 

/D _CRT_SECURE_NO_WARNINGS

点击“应用”和“确定”按键即可,如图2所示。

 

 VS2015中使用scanf()不报错的设置方法_第2张图片

图2 在命令行中设置

 

2 在应用程序向导中设置

在新建Win32类型的项目的应用程序向导中,取消“安全开发声明周期(SDL)检查”,即停止对函数安全性的检查,如图3所示。

VS2015中使用scanf()不报错的设置方法_第3张图片

图3 安全开发声明周期(SDL)检查

你可能感兴趣的:(C++基础)