我有一个很简单的套路(至少应该很简单)
我创建了一个大的 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/