读书人

关于对上传的数据进行保存的有关问题

发布时间: 2014-06-29 18:50:37 作者: rapoo

关于对上传的数据进行保存的问题
开了一个线程用来在mfc图像控件中显示 由上传数据转成图片,一帧512*512 需要实现点击保存按钮开始保存数据,停止按钮停止~~主要语句是:
if (pBufOffset < CurrentRead)
{
//char filename[1000];
WriteDataLength = CurrentRead - pBufOffset;
for (size_t row = 0, getck = 0; row != matsrc->rows; ++row)
{
uchar* matptr = (uchar*)(matsrc->data.ptr + row * matsrc->step);//把矩阵数据的头地址加上行*512得每行的头地址,step,以字节为单位的行数据长度
for (size_t col = 0; col != matsrc->cols; ++col)
{
matptr[col] = (*((PUCHAR)dataBuffer + pBufOffset + getck));//dataBuffer = (LPVOID)ll_dd;lc_return=PlxDmaSglChannelOpen(&hDevice,&ll_dd);
++getck;
/*data[row][col]=*matptr++;*/
if (isDataClicked==true)
{
data=fopen("data.raw","ab+");
fwrite(matptr,1,WriteDataLength,data);
fflush(data);
}
}



}

isDataClicked就是那个跟保存按钮关联的变量,为什么点保存之后图像就不动了呢?结果保存的全是那一帧的数据在循环,但数据还是一直在传输着,停止后 图像就又会跳到正在传输的那一帧图像~


[解决办法]
你这个是从缓冲区写到指针,再从指针写到文件,试一下直接从缓冲区缓冲区写到文件~~
fwrite((PUCHAR)dataBuffer + pBufOffset + getck,1,WriteDataLength,data);
这样看行不行~~

读书人网 >VC/MFC

热点推荐