【错误记录】Visual Studio 编译 C++ 代码报错 ( To disable deprecation, use _CRT_SECURE_NO_WARNINGS. )

简介: 【错误记录】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

image.png



错误代码示例 :


// 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";
}


执行结果 :

image.png


目录
相关文章
|
13天前
|
自然语言处理 编译器 Linux
|
4天前
|
算法 安全 C++
提高C/C++代码的可读性
提高C/C++代码的可读性
14 4
|
18天前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
|
1月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
99 21
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
39 0
Linux c/c++之多文档编译
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
187 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
4天前
|
存储 编译器 C++
【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
本文深入探讨了C++类的默认成员函数,包括构造函数、析构函数、拷贝构造函数和赋值重载。构造函数用于对象的初始化,析构函数用于对象销毁时的资源清理,拷贝构造函数用于对象的拷贝,赋值重载用于已存在对象的赋值。文章详细介绍了每个函数的特点、使用方法及注意事项,并提供了代码示例。这些默认成员函数确保了资源的正确管理和对象状态的维护。
22 4
|
6天前
|
存储 编译器 Linux
【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
本文介绍了C++中的类和对象,包括类的概念、定义格式、访问限定符、类域、对象的创建及内存大小、以及this指针。通过示例代码详细解释了类的定义、成员函数和成员变量的作用,以及如何使用访问限定符控制成员的访问权限。此外,还讨论了对象的内存分配规则和this指针的使用场景,帮助读者深入理解面向对象编程的核心概念。
18 4
|
28天前
|
存储 编译器 对象存储
【C++打怪之路Lv5】-- 类和对象(下)
【C++打怪之路Lv5】-- 类和对象(下)
25 4
|
28天前
|
编译器 C语言 C++
【C++打怪之路Lv4】-- 类和对象(中)
【C++打怪之路Lv4】-- 类和对象(中)
20 4