xjjiang 发表于 2012-2-16 20:34:05

初学BCB,free释放内存时出错,malloc的内存不能做参数吗?请大侠赐教

unsigned char *ReadBuffer=(unsigned char *)malloc(BufferLength+100);
    memcpy(ReadBuffer,Buffer,BufferLength);
    RecCnt += BufferLength;
    Edit1->Text = IntToStr(RecCnt);
    for(i=0;i<BufferLength;i++)
    {
      Memo1->Text = Memo1->Text+ IntToStr(*ReadBuffer++)+ ' ';
    }
    if(Memo1->Text.Length() > 1500)
    {
      Memo1->Clear();
    }
    free(ReadBuffer);//程序运行至此弹出错误的对话

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_719444HV6EVC.JPG
出错时弹出的对话框 (原文件名:Err.JPG)

aozima 发表于 2012-2-16 20:42:16

malloc 是否成功不做检查?

xjjiang 发表于 2012-2-17 11:39:59

多谢提醒!
页: [1]
查看完整版本: 初学BCB,free释放内存时出错,malloc的内存不能做参数吗?请大侠赐教