VS #define _CRT_SECURE_NO_WARNINGS 1 添加了仍然报错

简介: 一些小的错误,往往让初学者抓耳挠腮VS #define _CRT_SECURE_NO_WARNINGS 1 一定要放在最开始的位置

在使用 Visual Studio 进行 C/C++ 开发时,调用一些不安全的函数(如 strcpy、strcat 等)会提示 _CRT_SECURE_NO_WARNINGS 警告。这些函数不安全,可能导致内存泄漏等问题,因此建议使用带 _s 后缀的函数(如 strcpy_s、strcat_s 等)来代替它们。


但有时候


#define _CRT_SECURE_NO_WARNINGS 1 明明添加了却还是不可以使用


1.png

#include <stdio.h>#include <string.h>#define _CRT_SECURE_NO_WARNINGS 1intmain() {
charstr1[] ="Hello";
charstr2[] ="World";
charcombined[20]; // 定义一个足够大的数组来存放合并后的字符串strcpy(combined, str1); // 将第一个字符串复制到合并后的数组中strcat(combined, " ");  // 在合并后的数组中加上一个空格strcat(combined, str2); // 再将第二个字符串连接到合并后的数组中printf("%s\n", combined); // 输出合并后的字符串return0;
}

解决办法 把#define _CRT_SECURE_NO_WARNINGS 1移到开头

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>intmain() {
charstr1[] ="Hello";
charstr2[] ="World";
charcombined[20]; // 定义一个足够大的数组来存放合并后的字符串strcpy(combined, str1); // 将第一个字符串复制到合并后的数组中strcat(combined, " ");  // 在合并后的数组中加上一个空格strcat(combined, str2); // 再将第二个字符串连接到合并后的数组中printf("%s\n", combined); // 输出合并后的字符串return0;
}

问题已经解决

目录
相关文章
关于 C#使用Console.WriteLine调试没有命令行输出 的解决方法
关于 C#使用Console.WriteLine调试没有命令行输出 的解决方法
关于 C#使用Console.WriteLine调试没有命令行输出 的解决方法
深入分析luait反编译之luajit-decomp
#背景 Luajit在游戏中应用广泛,在逆向分析游戏过程中免不了与luajit打交道,那网上有非常多关于luajit反编译的资料,汇总起来常用的两种方案:https://github.com/zzwlpx/ljd 和 https://github.com/bobsayshilol/luajit-decomp, 第一种方案相对来说可读性好但兼容性差经常出现反编译异常崩溃。第二种方案反编译
8452 0
|
5月前
|
编译器 项目管理 C语言
蓝桥杯Dev-C++ 5.11(编译器)使用细节排坑!!!
为适用各种比赛,教你如何用 DEV C++ 细节( ̄︶ ̄)↗ 
458 1
|
7月前
|
人工智能 程序员 决策智能
2026年智能体(Agent)怎么学?从入门到实战的全景避坑指南
2026年,AI进入“智能体元年”。本文系统解析智能体四大核心架构与Agentic Workflow设计模式,涵盖开发者、产品经理到业务人员的实战路径,助力把握AI代理红利期,实现从工具应用到架构创新的跃迁。
12079 6
|
存储 编译器 程序员
【C语言】auto 关键字详解
`auto` 关键字用于声明局部变量的自动存储类,其作用主要体现在变量的生命周期上。尽管现代C语言中 `auto` 的使用较少,理解其历史背景和作用对于掌握C语言的存储类及变量管理仍然很重要。局部变量默认即为 `auto` 类型,因此在实际编程中,通常不需要显式声明 `auto`。了解 `auto` 关键字有助于更好地理解C语言的存储类及其在不同场景中的应用。
977 1
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
27595 3
【天梯赛】L1-095 分寝室
输出的方案对应女生都是 24/4=6 人间、男生都是 60/6=10 人间,人数差为 4。满足前三项要求的分配方案还有两种,即女生 6 间(都是 4 人间)、男生 4 间(都是 15 人间);同时,每间女寝人数必须都一样,每间男寝人数必须都一样,也就是女生总人数对女寝数取模为0,男生总人数对男寝数取模为0。输入在一行中给出 3 个正整数 n0​、n1​、n,分别对应女生人数、男生人数、寝室数。按题意模拟,因为知道总寝室数为n,所以可以从1~n-1暴力枚举女寝 i 的数量,那么男寝的数量则为 c-i。
576 6
|
存储 人工智能 C++
【PTA】L1-064 估值一亿的AI核心代码(详C++)
【PTA】L1-064 估值一亿的AI核心代码(详C++)
865 1
|
域名解析 缓存 网络协议
找不到DNS地址的解决方案
找不到DNS地址的解决方案
4661 1