bobo_rabbit 2015-07-01 06:39 采纳率: 0%
浏览 6093

Qt怎么实现解压缩和压缩文件的功能

Qt怎么实现解压缩和压缩文件的功能t怎么实现解压缩和压缩文件的功能,不想调用本地的rar指令。第三方库Quezip稳定吗,在哪里可以找到比较全的源码。

  • 写回答

2条回答

  • oyljerry 2015-07-06 04:15
    关注
    #include <QCoreApplication>
    #include <QByteArray>
    #include <QBitArray>
    #include <QString>
    #include <QDebug>
    #include <QFile>
    
    void Zip(QString filename , QString zipfilename);
    void Unzip(QString zipfilename , QString filename);
    
    int main(int argc, char *argv[]) {
    
        QCoreApplication a(argc, argv);
    
        //zipping
        Zip("D:\\programs\\demo.txt","D:\\programs\\demo.zip");
        qDebug() << "Done zipping";
    
        //unzipping
        Unzip("D:\\programs\\demo.zip","D:\\programs\\demo_unzipped.txt");
        qDebug() << "Done unzipping";
    
        return a.exec();
    }
    
    void Zip (QString filename , QString zipfilename){
    
        QFile infile(filename);
        QFile outfile(zipfilename);
        infile.open(QIODevice::ReadOnly);
        outfile.open(QIODevice::WriteOnly);
        QByteArray uncompressedData = infile.readAll();
        QByteArray compressedData = qCompress(uncompressedData,9);
        outfile.write(compressedData);
        infile.close();
        outfile.close();
    }
    
    void Unzip (QString zipfilename , QString filename){
        QFile infile(zipfilename);
        QFile outfile(filename);
        infile.open(QIODevice::ReadOnly);
        outfile.open(QIODevice::WriteOnly);
        QByteArray uncompressedData = infile.readAll();
        QByteArray compressedData = qUncompress(uncompressedData);
        outfile.write(compressedData);
        infile.close();
        outfile.close();
    }
    .pro file
    
    QT       += core
    
    QT       -= gui
    
    TARGET = TestZippingExample
    CONFIG   += console
    CONFIG   -= app_bundle
    
    TEMPLATE = app
    
    
    SOURCES += main.cpp
    
    

    http://karanbalkar.com/2014/02/zipping-and-unzipping-files-using-qt-5-framework/

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配