当前位置: 首页 > news >正文

测试因strcpy执行拷贝引起的内存溢出

#include "string.h" //strcpy()需要包含string.h头文件

typedef struct{

char buf1[5]; //声明char型数组buf1[]

char buf2[5]; //声明char型数组buf2[]

    char buf3[10];//声明char型数组buf3[]

}MemoryStruct;

MemoryStruct MEM={0};

void Test_MemoryOverflow(void)

{

MEM.buf3[0]='1';MEM.buf3[1]='2';MEM.buf3[2]='3';

MEM.buf3[3]='4';MEM.buf3[4]='5';MEM.buf3[5]='6';MEM.buf3[6]='\0';

strcpy(MEM.buf1,MEM.buf3); //将buf3[]中的字符串拷贝到buf1[]中

}

仿真后,发现目标数组buf1[]不够大,而buf3[]中的源字符串的长度太长,会造成“内存溢出”,结果见下图:

同理可以测试strncpy()函数。

http://www.xdnf.cn/news/296515.html

相关文章:

  • 五一假期集训【补题】
  • Python cv2图像几何变换全攻略:从理论到实战
  • Python 函数装饰器和闭包(闭包)
  • 人工智能在心理健康领域的创新应用:从诊断到干预
  • Tensorrt 基础入门
  • 民主与民族主义作为暴力时代的财政策略
  • Python小酷库系列:bidict,可以双向查询的dict
  • 代码随想录第33天:动态规划6(完全背包基础)
  • RHCSA笔记2
  • 2025年PMP 学习五
  • 关于麒麟服务器实现docker-compose服务开机自启
  • 浔川AI测试版内测报告
  • DeepWiki 是什么,怎么使用
  • 《深度剖析:SOAP与REST,API集成的两极选择》
  • 访问者模式(Visitor Pattern)
  • STC单片机与淘晶驰串口屏通讯例程之03【单片机程序解析】
  • 名词解释DCDC
  • 位运算-详细总结
  • 人工智能浪潮中Python的核心作用与重要地位
  • 《人件》第四章 高效团队养成
  • 林业数智化转型初步设计方案
  • 网络原理(6)—— 应用层之HTTP协议
  • 广东省省考备考(第二天5.5)—申论作文
  • Baklib的数字化内容管理核心是什么?
  • 系统架构-层次式架构设计
  • 下载core5compat 模块时,被禁止,显示 - servese replied: Forbbidden. -->换镜像源
  • DeepSeek-提示词工程
  • 解密下一代AI:大模型技术的突破与挑战
  • 【Windows】Windows 使用bat脚本备份SVN仓库
  • AI融合SEO关键词优化