请教关于new char 和 delete的问题——堆栈问题

HLCHCD HLCHCD 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我在程序中一共用了三个new char
pFileBuff[0] =(unsigned char *)new char[FileLnth[0]];//读取第一个文件内容的数组
pFileBuff[1] =(unsigned char *)new char[FileLnth[1]];//读取第二个文件

后面我需要开辟一个新的指针,在pFileBuff[0]指向的数组加上一定数目的别的数值,然后存到一个文件后,删除三个指针。如下面:P2AD大于FileLnth[0],P2AD为外部输入的数值,数值本身没有问题,调试过程中能识别。
pFileBuff =(unsigned char *)new char[ P2AD+FileLnth[1])//准备存到第三个文件的数组

等我将pFileBuff的内容存到CFILE file文件后,delete三个new char开辟的空间。程序出现错误。不知怎么消除这种错误,我试过,除非不delete pFileBuff 才能消除错误

错误信息:HEAP[******.exe]: Heap block at 00C3C458 modified at 00C3C4BC past requested size of 5c

delete pFilBuf;//出错,即使带[]也出错
delete pFileBuff[0];
delete pFileBuff[1];
...全文
评论 5
收藏 已收藏
分享
返回顶部
HLCHCD
C++ 语言 65,214 成员 250,514 内容