严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C4996 'strcpy': This function or variable may be unsafe. Consider using

飞翔的小啾啾 2021-12-27 18:15:42

今天下载了 VS-2022 想复习一下C语言的结构体,结果刚上来就遇到了这个问题:

这是我的程序:

#include <stdio.h>
#include <string.h>

/*
* 1.什么是结构体?
*	1.1多个具有共同属性的事物
*	1.2和普通变量的区别
* 2.如何定义一个结构体
*	struct 结构体名
*	{
*		//数据成员--->基本数据成员表示
*	}
* 3.如何访问结构体中的成员
*	3.1结构体中的成员必须通过结构变量去访问
*	3.2访问方式:结构体变量.成员
*	3.3指针访问 专属的访问方法 : 指针->成员
*/
typedef struct Personnel{
		char name[100];
		int age;
		int num;
	}personnel;


int main(void)
{
	int i;
	//注意点:结构体中的字符数组,不能采用赋值的方式
	//Anni.name = "Anni"; 数组不能直接赋值
	personnel personnels[10];
	strcpy(personnels[0].name, "Anni");
	strcpy(personnels[1].name, "Tom");
	personnels[0].age = 18;
	personnels[1].age = 19;
	personnels[0].num = 1;
	personnels[1].num = 2;

	for (i = 0; i < 2; i++)
	{
		printf("序号:%d\t姓名:%s\t年龄:%d\n" ,personnels[i].num , personnels[i].name ,personnels[i].age);
	}

	return 0;

遇到的问题:

C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.    

最后也是在 B站某大佬的教学视频中找到了解决问题的方法:

因为这是编译器的问题所以我们需要修改便一起的相关属性:

1.右键点击我们的工程选择属性:

2.在属性页的C/C++里将 SDL 检查 选择为

 

 3.重新编译程序

 

 

...全文
9527 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
niumaoyihao 2023-11-22
  • 打赏
  • 举报
回复

解决了,谢谢

m0_70503536 2022-11-30
  • 打赏
  • 举报
回复 3

我建议开头加 #pragma warning(disable:4996)

  • 举报
回复
@m0_70503536 谢谢了
勇敢牛牛@ 2022-11-12
  • 打赏
  • 举报
回复

没有解决

到心 2022-11-12
  • 打赏
  • 举报
回复

为什么还是报错啊

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧