c++ - memcpy c++ - 崩溃

标签 c++ memcpy

我有一个很简单的套路(至少应该很简单)

我创建了一个大的 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);

这是一个指向单个字符的指针。获取数组使用

_buffer = new char[7931880];

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

关于c++ - memcpy c++ - 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14365146/

相关文章:

c++ - 删除最后一行时,QTableWidget 的单元格小部件无法正确显示

c++ - 从 C 中的结构检索值时出现编译错误

c++ - 如何使用类模板完全特化函数模板?

c - 从函数返回指向结构的指针

c++ - 强制 GCC 执行 memcpy 运行时大小检查的循环取消切换?

c++ - 在退出时正确使用返回错误代码

c++ - 使用对话框以图形方式检索用户输入

c - 使用 memcpy 的列表中的段错误

c++ - MemSet 和 MemCpy

c - c中的memcpy后断言失败