网站制作代理加盟,.net 网站模板下载地址,徐州企业免费建站,wordpress获取分类标题为了后续的方便操作zip文件#xff0c; 将所有的操作封装成了一个动态库了。 /*** \description 从压缩包文件中解压出指定的文件到指定的目录.* \author sunsz* \date 2023/09/09**/
LIBZIP_API int UnpackFile(const char* password, char zipfilename[], char filename_… 为了后续的方便操作zip文件 将所有的操作封装成了一个动态库了。 /*** \description 从压缩包文件中解压出指定的文件到指定的目录.* \author sunsz* \date 2023/09/09**/
LIBZIP_API int UnpackFile(const char* password, char zipfilename[], char filename_to_extract[], char filepath_to_extract[]);/*** \description .从压缩包文件中读出指定的文件到buffer中.* * \author sunsz* \date 2023/09/09 * */
LIBZIP_API int UnpackBuffer(const char* password, char zipfilename[],char filenameinzip[], char *buffer,unsigned int *buffer_size);/*** \description 获取指定文件的大小.* * \author sunsz* \date 2023/09/09 * */
LIBZIP_API int UnpackBufferSize(const char* password, char zipfilename[], char filenameinzip[]);/*** \description 从压缩包中获取文件列表.* * \author sunsz* \date 2023/09/09 * */
LIBZIP_API int UnpackFileList(const char* password, char zipfilename[], char filename_list[256][256]);/*** \description 将指定的文件写入到压缩包文件中.* opt_overwrite 0 重新新建文件 opt_overwrite 2 以追加的方式添加到压缩包不存在则创建 * \author sunsz* \date 2023/09/09 * */
LIBZIP_API int PackFile(const char* password,char m_zipname[],char filein[],int opt_overwrite);/*** \description 将内容以指定的文件名称存入到压缩包文件中.* opt_overwrite 0 重新新建文件 opt_overwrite 2 以追加的方式添加到压缩包不存在则创建* \author sunsz* \date 2023/09/09**/
LIBZIP_API int PackBuffer(const char* password, char m_zipname[], char filenameinzip[], char* buffer, unsigned int buffer_size, int opt_overwrite); 示例代码: //依赖头文件
#include windows.h
#include stdio.h
#include stdlib.h
#include string.h
#include conio.h
#include exception//定义函数指针//typedef int(WINAPI*S_dll_callback_demo1)(unsigned char*,unsigned char*);
typedef int(WINAPI*ZipRead)(const char*, char*, char*, char*);
typedef int(WINAPI*ZipReadFileList)(const char*, char*, char**);
typedef int(WINAPI*ZipWrite)(const char*, char*, char*,int);
typedef int(WINAPI* ZipWriteBuffter)(const char* , char *, char*, char* , unsigned int , int );
typedef int(WINAPI* ZipReadBuffer)(const char* , char *, char *, char *, unsigned int* );
typedef int(WINAPI* ZipReadBufferSize)(const char* , char *, char *);
//定义API函数变量
static ZipWrite zipWriteFile;
static ZipRead zipReadFile;
static ZipReadFileList readList;
static ZipWriteBuffter zipWriteBuffter;
static ZipReadBuffer zipReadBuffter;
static ZipReadBufferSize zipReadBuffterSize;
int main(){int i 0;int j 0;int malloclen 0;unsigned int len 0;char* dataout NULL;char* passwd 123456;int filenum 0;char filelist[256][256] { 0x00 };char data[] hello zip!;char path[] .//libzip.dll;HMODULE hDll LoadLibrary(path);if (hDll ! NULL) {zipWriteFile (ZipWrite)GetProcAddress(hDll, PackFile);zipReadFile (ZipRead)GetProcAddress(hDll, UnpackFile);readList (ZipReadFileList)GetProcAddress(hDll, UnpackFileList);zipWriteBuffter (ZipWriteBuffter)GetProcAddress(hDll, PackBuffer);zipReadBuffter (ZipReadBuffer)GetProcAddress(hDll, UnpackBuffer);zipReadBuffterSize (ZipReadBufferSize)GetProcAddress(hDll, UnpackBufferSize);/*if (zipWriteFile) {zipWriteFile(passwd, 2.zip, D:\\D-Pro\\Test\\test_zip\\test_zip\\test.S19,0);}else {printf(\nZipWriteFile\n);}if (zipReadFile) {zipReadFile(passwd, 2.zip, test.S19,.//test//11111.s19);}else {printf(\nZipReadFile\n);}*/if (zipWriteBuffter) {zipWriteBuffter(passwd, 3.zip, 11112.txt, data, sizeof(data), 2);}else {printf(\nzipWriteBuffter \n);}if (zipReadBuffter) {if (zipReadBuffterSize) {malloclen zipReadBuffterSize(passwd, 3.zip, 11112.txt);if (malloclen) {dataout (char*)malloc(malloclen 8);zipReadBuffter(passwd, 3.zip, 11112.txt, dataout, len);printf(%s\n, dataout);if (dataout ! NULL) {free(dataout);dataout NULL;}}}}else {printf(\nzipWriteBuffter \n);}}else{printf(\n加载失败!\n);}printf(\n请按任意键结束!\n);_getch();return 0;
} 示例测试: