最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt使用Quazip解壓縮、壓縮文件的實現(xiàn)

 更新時間:2023年11月01日 15:22:04   作者:Mr.codeee  
Quazip是在zlib基礎(chǔ)上進行了簡單封裝的開源庫,利用它可以很方便將單個或多個文件打包為zip文件,本文主要介紹了Qt使用Quazip解壓縮、壓縮文件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

1.環(huán)境搭建

Quazip,是在zlib基礎(chǔ)上進行了簡單封裝的開源庫,適用于多種平臺,利用它可以很方便將單個或多個文件打包為zip文件,且打包后的zip文件可以通過其它工具打開。

下載Quazip

QuaZIP download | SourceForge.net

解壓后,使用QtCreator打開quazip.pro文件。

我這里使用MSVC2015_64的編譯器。

拷貝Qt目錄下的QtZlib/zlib.h和zconf.h文件到quazip源碼目錄。

要拷貝的目的目錄如下: 

修改quazip.pri文件如下圖所示:

添加

$$PWD/zconf.h

$$PWD/zlib.h

INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD
HEADERS += \
        $$PWD/crypt.h \
        $$PWD/ioapi.h \
        $$PWD/JlCompress.h \
        $$PWD/quaadler32.h \
        $$PWD/quachecksum32.h \
        $$PWD/quacrc32.h \
        $$PWD/quagzipfile.h \
        $$PWD/quaziodevice.h \
        $$PWD/quazipdir.h \
        $$PWD/quazipfile.h \
        $$PWD/quazipfileinfo.h \
        $$PWD/quazip_global.h \
        $$PWD/quazip.h \
        $$PWD/quazipnewinfo.h \
        $$PWD/unzip.h \
        $$PWD/zip.h \
        $$PWD/zconf.h \
        $$PWD/zlib.h
 
SOURCES += $$PWD/qioapi.cpp \
           $$PWD/JlCompress.cpp \
           $$PWD/quaadler32.cpp \
           $$PWD/quacrc32.cpp \
           $$PWD/quagzipfile.cpp \
           $$PWD/quaziodevice.cpp \
           $$PWD/quazip.cpp \
           $$PWD/quazipdir.cpp \
           $$PWD/quazipfile.cpp \
           $$PWD/quazipfileinfo.cpp \
           $$PWD/quazipnewinfo.cpp \
           $$PWD/unzip.c \
           $$PWD/zip.c

然后編譯,生成庫文件

2.使用

新建工程QuaZipTest,工程同級目錄新建thirdPart目錄。

thirdPart目錄結(jié)構(gòu)如下:

include目錄下,將Quazip的頭文件拷貝過去。

修改 QuaZipTest,pro文件

QMAKE_LIBDIR += $$PWD/../thirdPart/quazip/
 
INCLUDEPATH += $$PWD/../thirdPart/quazip/include
 
LIBS += -lquazip

使用代碼示例:

    // 解壓文件
    JlCompress::extractFile("F:\\test.zip", "F:\\test.txt");
 
    // 壓縮文件
    JlCompress::compressFile("F:\\test.zip", "F:\\test.txt");
 
    // 解壓文件夾
    JlCompress::extractDir("F:\\test.zip", "F:\\test");
 
    // 壓縮文件夾
    JlCompress::compressDir("F:\\test.zip", "F:\\test");

3.quazip類說明

說明
JlCompress典型操作工具類
QuaAdler32Adler32算法校驗和
QuaChecksum32校驗和接口
QuaCrc32CRC32校驗和
QuaGzipFileGZIP 文件操作
QuaZIODevice壓縮/解壓 QIODevice
QuaZipZIP 文件
QuaZipDirZIP文件內(nèi)目錄導(dǎo)航
QuaZipFileZIP文件內(nèi)的文件
QuaZipFileInfoZIP壓縮包內(nèi)的文件信息
QuaZipFilePrivateQuaZip的接口
QuaZipNewInfo被創(chuàng)建的文件信息
QuaZipPrivateQuaZIP內(nèi)部類

4.QtCreator無法使用msvc的編譯器解決方法

編譯項目,提示無法運行“rc.exe”

使用everything搜索rc.exe和rcdll.dll這兩個文件,然后拷貝

D:\Windows Kits\10\bin\10.0.17763.0\x64\rc.exe

D:\Qt\Qt5.11.0\5.11.0\msvc2015_64\bin\

到此這篇關(guān)于Qt使用Quazip解壓縮、壓縮文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)Qt Quazip解壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解析C++11 static_assert及與Boost庫的關(guān)聯(lián)從入門到精通

    解析C++11 static_assert及與Boost庫的關(guān)聯(lián)從入門到精通

    static_assert是C++中強大的編譯時驗證工具,它能夠在編譯階段攔截不符合預(yù)期的類型或值,增強代碼的健壯性,通過自定義錯誤消息加速調(diào)試,本文給大家介紹C++11 static_assert(基于Boost庫)從入門到精通,感興趣的朋友一起看看吧
    2025-06-06
  • c++優(yōu)先隊列(priority_queue)用法詳解

    c++優(yōu)先隊列(priority_queue)用法詳解

    這篇文章主要介紹了c++優(yōu)先隊列(priority_queue)用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 關(guān)閉顯示器軟件代碼分享

    關(guān)閉顯示器軟件代碼分享

    這篇文章主要介紹了使用程序如何關(guān)閉顯示器的代碼,需要的朋友可以參考下
    2014-01-01
  • C++ 中const 類型限定符不兼容問題

    C++ 中const 類型限定符不兼容問題

    這篇文章主要介紹了C++ 中const 類型限定符不兼容問題的相關(guān)資料,需要的朋友可以參考下
    2015-06-06
  • Qt實現(xiàn)卡牌對對碰游戲(附demo)

    Qt實現(xiàn)卡牌對對碰游戲(附demo)

    本文主要介紹了Qt實現(xiàn)卡牌對對碰游戲,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • c++關(guān)鍵字const的用法詳解

    c++關(guān)鍵字const的用法詳解

    在類中,如果你不希望某些數(shù)據(jù)被修改,可以使用const關(guān)鍵字加以限定。const 可以用來修飾成員變量、成員函數(shù)以及對象,希望能夠給你帶來幫助
    2021-09-09
  • C++?socket通信遇到的問題及解決方法

    C++?socket通信遇到的問題及解決方法

    這篇文章主要介紹了C++?socket通信遇到的問題,通過代碼修改來解決這個問題,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • C語言使用ffmpeg實現(xiàn)單線程異步的視頻播放器

    C語言使用ffmpeg實現(xiàn)單線程異步的視頻播放器

    這篇文章主要為大家詳細介紹了C語言如何使用ffmpeg實現(xiàn)單線程異步的視頻播放器功能,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-12-12
  • C++細講深淺拷貝與初始化列表如何操作

    C++細講深淺拷貝與初始化列表如何操作

    C++對象特性里的拷貝構(gòu)造函數(shù)有更深入的含義,而且面試曾經(jīng)問過關(guān)于拷貝的析構(gòu)問題,那么今天就好好解析一下深淺拷貝的問題;還有初始化列表的形式,這個在給對象屬性初始化的時候非常方便,建議大家熟練掌握,話不多說,開始正文
    2022-05-05
  • C語言實現(xiàn)三子棋游戲(初級版)

    C語言實現(xiàn)三子棋游戲(初級版)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)三子棋游戲初級版,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09

最新評論

礼泉县| 罗田县| 新源县| 康平县| 永定县| 鄂州市| 灵寿县| 那曲县| 浦北县| 南和县| 瑞昌市| 霍山县| 荃湾区| 增城市| 通海县| 甘南县| 老河口市| 耒阳市| 阿图什市| 博爱县| 毕节市| 略阳县| 河津市| 柏乡县| 阿勒泰市| 伊宁市| 紫云| 靖远县| 利辛县| 特克斯县| 乌什县| 于田县| 文山县| 新竹市| 新邵县| 永定县| 类乌齐县| 岚皋县| 漳浦县| 故城县| 三门峡市|