您好,登錄后才能下訂單哦!
要從壓縮文件中獲取解壓后的文件列表,你可以使用C++的文件操作和第三方庫minizip
首先,確保你已經安裝了MinGW,然后將minizip
庫添加到你的項目中。將以下代碼添加到你的C++源文件中:
#define MINIZIP_VERSION 1
#include "unzip.h"
#include <iostream>
#include <vector>
#include <string>
接下來,你可以使用以下代碼來獲取解壓后的文件列表:
void GetUnzipFileList(const std::string& zipFilePath, std::vector<std::string>& fileList) {
unzFile uf = unzOpen(zipFilePath.c_str());
if (uf == nullptr) {
std::cerr << "Error: Cannot open zip file: " << zipFilePath << std::endl;
return;
}
unz_file_info fileInfo;
int ret = unzGetCurrentFileInfo(uf, &fileInfo, nullptr, 0, nullptr, 0, nullptr, 0);
while (ret == UNZ_OK) {
fileList.push_back(fileInfo.filename);
ret = unzGoToNextFile(uf);
}
unzClose(uf);
}
int main() {
std::string zipFilePath = "example.zip"; // 替換為你的壓縮文件路徑
std::vector<std::string> fileList;
GetUnzipFileList(zipFilePath, fileList);
std::cout << "Unzipped file list:" << std::endl;
for (const auto& file : fileList) {
std::cout << file << std::endl;
}
return 0;
}
將example.zip
替換為你要解壓的壓縮文件路徑。編譯并運行代碼,你將看到解壓后的文件列表。
注意:在編譯時,確保鏈接minizip
庫。例如,使用g++編譯器,你可以使用以下命令:
g++ main.cpp -o main -lminizip -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。