欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)目錄導航
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++中CopyFile和MoveFile函數(shù)使用區(qū)別的示例分析

    C++中CopyFile和MoveFile函數(shù)使用區(qū)別的示例分析

    這篇文章主要介紹了C++中CopyFile和MoveFile函數(shù)使用區(qū)別的示例分析,CopyFile表示將文件A拷貝到B,如果B已經(jīng)存在則覆蓋,MoveFile表示將文件A移動到。對此感興趣的可以來了解一下
    2020-07-07
  • VC++獲得當前進程運行目錄的方法

    VC++獲得當前進程運行目錄的方法

    這篇文章主要介紹了VC++獲得當前進程運行目錄的方法,可通過系統(tǒng)函數(shù)實現(xiàn)該功能,是非常實用的技巧,需要的朋友可以參考下
    2014-10-10
  • C語言詳細講解位運算符的使用

    C語言詳細講解位運算符的使用

    C語?既具有?級語?的特點,?具有低級語?的特性,如?持位運算就是其具體體現(xiàn)。這是因為,C語?最初是為取代匯編語?設計系統(tǒng)軟件?設計的,因此C語?必須?持位運算等匯編操作。位運算就是對字節(jié)或字內(nèi)的?進制數(shù)位進?測試、抽取、設置或移位等操作
    2022-04-04
  • 使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作

    使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作

    這篇文章給大家介紹了使用C/C++讀取matlab中.mat格式數(shù)據(jù)的操作,文中通過圖文結(jié)合的方式介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12
  • c++實現(xiàn)一個簡易的網(wǎng)絡緩沖區(qū)的實踐

    c++實現(xiàn)一個簡易的網(wǎng)絡緩沖區(qū)的實踐

    這篇文章主要介紹了c++實現(xiàn)一個簡易的網(wǎng)絡緩沖區(qū)的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • C++中引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字和范圍for循環(huán)詳解

    C++中引用、內(nèi)聯(lián)函數(shù)、auto關(guān)鍵字和范圍for循環(huán)詳解

    本文主要梳理了C++當中一些瑣碎的知識點,包括有命名空間,缺省參數(shù),引用,auto關(guān)鍵字和內(nèi)聯(lián)函數(shù),文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2023-02-02
  • 一文帶你學會C語言中的qsort函數(shù)

    一文帶你學會C語言中的qsort函數(shù)

    qsort函數(shù)是C語言的庫函數(shù),能實現(xiàn)對各種元素類型的比較,使用的基本思想是快速排序法,頭文件是<stdlib.h>,本文不講解具體實現(xiàn)原理,只對使用方法進行說明,希望對大家有所幫助
    2022-12-12
  • c++基礎(chǔ)算法動態(tài)DP解決CoinChange問題

    c++基礎(chǔ)算法動態(tài)DP解決CoinChange問題

    這篇文章主要為大家介紹了c++基礎(chǔ)算法如何利用動態(tài)DP來解決Coin Change的問題示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • C語言詳解鏈式隊列與循環(huán)隊列的實現(xiàn)

    C語言詳解鏈式隊列與循環(huán)隊列的實現(xiàn)

    隊列(Queue)與棧一樣,是一種線性存儲結(jié)構(gòu),它具有如下特點:隊列中的數(shù)據(jù)元素遵循“先進先出”(First In First Out)的原則,簡稱FIFO結(jié)構(gòu)。在隊尾添加元素,在隊頭刪除元素,本篇來講解鏈式隊列與循環(huán)隊列的實現(xiàn)
    2022-04-04
  • C語言編寫洗牌發(fā)牌程序

    C語言編寫洗牌發(fā)牌程序

    這篇文章主要為大家詳細介紹了C語言編寫洗牌發(fā)牌程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02

最新評論