首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用miniz库压缩文件失败?

使用miniz库压缩文件失败?

提问于 2024-04-25 09:38:50
回答 0关注 0查看 10

我在使用miniz库,想要将几个文件压缩到一个压缩包内,但是一直提示文件压缩失败,不知道是不是我的参数设置不对,以下是我的代码?

代码语言:txt
复制
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, "提醒", "文件压缩成功!");
}
 

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档