void TestMemoryStream::on_pbSaveFile_clicked()
{
QFileDialog fd;
fd.setWindowTitle(QString::fromLocal8Bit("保存文件"));
fd.setModal(QFileDialog::AnyFile);
fd.setViewMode(QFileDialog::List);
QString strSaveFile = fd.getSaveFileName();
if(!strSaveFile.isEmpty())
m_pleOldFile->setText(QDir::toNativeSeparators(strSaveFile));
else
m_pleOldFile->clear();
if(!m_pleSourceFile->text().isEmpty() && !m_pleOldFile->text().isEmpty())
{
ifstream ifile;
ifile.open(m_pleSourceFile->text().toStdString().data(), std::ios::in | std::ios::binary);
ofstream ofile;
ofile.open(m_pleOldFile->text().toStdString().data(), std::ios::out | std::ios::binary | std::ios::trunc);
LQH::CMemoryStream memoryStream;
char pBuffer[5000];
int nReadSize;
while(ifile.is_open() && !ifile.eof())
{
ifile.read(pBuffer, 5000);
nReadSize = ifile.gcount();
memoryStream.write(pBuffer, nReadSize);
}
memoryStream.Seek(0, LQH::CMemoryStream::soBeginning);
while(memoryStream.size() > memoryStream.Position())
{
nReadSize = memoryStream.read(pBuffer, 10);
memoryStream.remove(nReadSize, LQH::CMemoryStream::soBeginning);
ofile.write(pBuffer, nReadSize);
}
ifile.close();
ofile.close();
}
}
C++内存流CMemoryStream
5星 · 超过95%的资源 需积分: 49 73 浏览量
2012-11-06
16:52:57
上传
评论 2
收藏 3KB RAR 举报
zesen2008
- 粉丝: 1
- 资源: 20
- 1
- 2
前往页