91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中ZIP文件的寫入

發布時間:2024-10-30 10:58:26 來源:億速云 閱讀:84 作者:小樊 欄目:編程語言

在C++中,你可以使用第三方庫來處理ZIP文件

首先,確保你已經安裝了minizip庫。接下來,創建一個名為main.cpp的文件,并將以下代碼粘貼到文件中:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include "minizip/zip.h"
#include "minizip/unzip.h"
#include "minizip/ioapi.h"

void zipFile(const std::string& zipFilename, const std::vector<std::string>& filenames) {
    zipFile_t zipFile;
    int error = 0;

    error = zipOpen(&zipFile, zipFilename.c_str(), ZIP_CREATE | ZIP_TRUNCATE);
    if (error != ZIP_OK) {
        std::cerr << "Error opening zip file: " << zipFilename << std::endl;
        return;
    }

    for (const auto& filename : filenames) {
        error = zipOpenNewFileInZip(&zipFile, filename.c_str(), NULL, NULL, 0, ZIP_DEFLATED, Z_DEFLATED_LEVEL_DEFAULT);
        if (error != ZIP_OK) {
            std::cerr << "Error adding file to zip: " << filename << std::endl;
            zipClose(zipFile);
            return;
        }

        std::ifstream file(filename, std::ios::binary);
        if (!file) {
            std::cerr << "Error opening file: " << filename << std::endl;
            zipCloseFileInZip(&zipFile);
            return;
        }

        std::vector<char> buffer(std::istreambuf_iterator<char>{file}, {});
        error = zipWriteInFileInZip(&zipFile, buffer.data(), buffer.size());
        if (error != ZIP_OK) {
            std::cerr << "Error writing file to zip: " << filename << std::endl;
            zipCloseFileInZip(&zipFile);
            return;
        }

        file.close();
        zipCloseFileInZip(&zipFile);
    }

    zipClose(zipFile);
}

int main() {
    std::vector<std::string> filenames = {"file1.txt", "file2.txt", "file3.txt"};
    zipFile("example.zip", filenames);
    std::cout << "ZIP file created successfully." << std::endl;
    return 0;
}

這個程序將創建一個名為example.zip的ZIP文件,并將file1.txtfile2.txtfile3.txt文件添加到其中。請確保這些文件在程序運行時存在于正確的位置。

要編譯此程序,請使用以下命令(確保已鏈接minizip庫):

g++ main.cpp -o main -lminizip -lz

然后運行生成的可執行文件:

./main

這將創建一個名為example.zip的ZIP文件,其中包含指定的文件。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

辉县市| 张掖市| 五莲县| 巧家县| 松溪县| 繁昌县| 久治县| 玛沁县| 新巴尔虎左旗| 视频| 石河子市| 砚山县| 兴国县| 河曲县| 开平市| 康定县| 兴安盟| 宣汉县| 牟定县| 高陵县| 天津市| 开原市| 海门市| 万荣县| 垣曲县| 武安市| 时尚| 通海县| 广汉市| 个旧市| 丽水市| 邵武市| 抚宁县| 廉江市| 木里| 绿春县| 大兴区| 永泰县| 葵青区| 友谊县| 井研县|