我在使用miniz库,想要将几个文件压缩到一个压缩包内,但是一直提示文件压缩失败,不知道是不是我的参数设置不对,以下是我的代码?
ZIPHandle::ZIPHandle()
{
QString executablePath = QCoreApplication::applicationDirPath();
QVector<QString> fileVector{"DXFDetail.act","DXFDetail.counters","DXFDetail.fnc","DXFDetail.timers","DXFDetail.variables"};
QString zipFilePath =QString("HCBackupRobot_")+QDateTime::currentDateTime().toString("yyyy-MM-dd-hh-mm-ss")+QString(".zip"); // 设置 ZIP 文件的路径
mz_zip_archive zip_archive;
memset(&zip_archive, 0, sizeof(zip_archive));
mz_bool result = mz_zip_writer_init_file(&zip_archive,zipFilePath.toStdString().c_str(),0);
if(!result)
{
qDebug() << "无法创建zip文件:" << zipFilePath;
QMessageBox::information(NULL,"提醒","无法创建ZIP文件!");
return;
}
for(auto fileName : fileVector)
{
QString fileTempName = executablePath + "/" + fileName;
if(mz_zip_writer_add_file(&zip_archive,fileName.toStdString().c_str(),fileName.toStdString().c_str(),NULL,0,MZ_BEST_COMPRESSION) != MZ_TRUE)
{
qDebug() << "无法添加文件到ZIP压缩包:" << fileTempName;
mz_zip_writer_end(&zip_archive);
QMessageBox::information(NULL,"提醒","文件压缩失败!");
return;
}
}
mz_zip_writer_finalize_archive(&zip_archive);
mz_zip_writer_end(&zip_archive);
qDebug() << "文件成功压缩到:" << zipFilePath;
QMessageBox::information(NULL, "提醒", "文件压缩成功!");
}
相似问题