//从device1中通过fromdevice读出size大小的文件块,再通过todevice写入device2中 
void HLN_IOWork(QDataStream &fromDevice, QDataStream &toDevice, qint64 size)
{                                                                       
 char *p = new char[BLOCKSIZE];
    while (size > 0)
 {
        if (size >= BLOCKSIZE)//如果图片文件大于BLOCKSIZE,每次读BLOCKSIZE
        {
            fromDevice.readRawData(p, BLOCKSIZE);
            toDevice.writeRawData(p, BLOCKSIZE);
            size -= BLOCKSIZE;
        }
        else//当文件剩余部分小于BLOCKSIZE时,将剩余部分一次性读出
        {
            fromDevice.readRawData(p, size);
            toDevice.writeRawData(p, size);
            size -= size;
        }
    }
 delete []p;
}
[ 此贴被wuxian610在2005-11-02 15:48重新编辑 ]