错误记录Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误记录Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )相关的知识,希望对你有一定的参考价值。
一、报错信息
报错信息 :
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 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.
Hello Y:\\002_WorkSpace\\002_VS\\Hello\\Hello\\Hello.cpp 9
错误代码示例 :
// Hello.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
int main()
// 定义变量
int a = 0;
// 从命令行接收数据, 并为变量赋值
scanf("%d", &a);
// 打印赋值会后的变量值
std::cout << "a = "<< a << "\\n";
二、解决方案
这是在 Windows 中的 Visual Studio 中运行 C++ 程序中 , 如果程序中调用了 scanf、sprintf、strcpy、strcat 等方法 , 则会弹出上述错误 ;
在源码最开始部分 , 添加
#define _CRT_SECURE_NO_WARNINGS
宏定义 , 即可暂时屏蔽上述错误 ;
修改后的代码示例 :
// Hello.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
int main()
// 定义变量
int a = 0;
// 从命令行接收数据, 并为变量赋值
scanf("%d", &a);
// 打印赋值会后的变量值
std::cout << "a = "<< a << "\\n";
执行结果 :
以上是关于错误记录Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )的主要内容,如果未能解决你的问题,请参考以下文章
奇怪的 Visual Studio 2008 C++ 编译器错误
Visual Studio 2015 Update 1 中的 C++ 内部编译器错误
Visual Studio 2015 (C++):在第一次构建错误时停止编译(不是第一个项目)