繁体   English   中英

memcpy c ++ - 崩溃

[英]memcpy c++ - crashing

我有一个非常简单的例程(至少应该很简单)

我创建了一个大的char数组,当我接收它时,我正在将数据复制到它。 大约第三次迭代后,应用程序崩溃了。

首先创建一个大缓冲区

_buffer = new char(7931880);

...

void writeData(char* newData,size_t size)
{
  memcpy(_buffer,newData,size); //this call succeeds the first 4 times then fails bytes received
 _buffer+=size;                 //(size) is never larger than 16000
}
_buffer = new char(7931880);

这是指向SINGLE字符的指针。 要使用数组

_buffer = new char[7931880];

并打开编译器警告以检测溢出。

您正在动态分配值为7931880的单个char 假设你的缓冲区应该只是一个char (不是很多缓冲区),也许你正在寻找_buffer = new char[7931880]; 这将分配7931880个char

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM