C++获取zip文件列表

// ZipFile.h
//
#ifndef ZIPFILE_H
#define ZIPFILE_H

#include <string>
#include <vector>

#define ZIP_OK     0
#define ZIP_ERR_OPEN   1
#define ZIP_ERR_WRONG_FILE  2
#define ZIP_ERR_WRONG_HEADER 3

#define BYTE unsigned char
#define ui32 unsigned int
#define ui16 unsigned short

struct FileHeader
{
 ui32 signature;
 ui16 version_made_by;
 ui16 version_needed;
 ui16 bitflags;
 ui16 comp_method;
 ui16 lastModFileTime;
 ui16 lastModFileDate;
 ui32 crc_32;
 ui32 comp_size;
 ui32 uncompr_size;
 ui16 fname_len;
 ui16 extra_field_len;
 ui16 fcomment_len;
 ui16 disk_num_start;
 ui16 internal_fattribute;
 ui32 external_fattribute;
 ui32 relative_offset;
 char* file_name;
 char* extra_field;
 char* file_comment;
};

class CZipFile
{
private:

public:
 CZipFile();
 CZipFile(std::string);
 virtual ~CZipFile();
 void ResetContent(void);

 std::string GetFileName(void);
 void SetFileName(std::string);
 bool    OpenFile(void);
 int     GetFilesNumber(void);
 FileHeader * GetFileAttributes(int);

private:
 void ReadCentralDirectory(BYTE * data,long len);
 int  ReadFileHeader(BYTE * data, FileHeader * hdr);
 ui32 ReadValue(unsigned char * buf, int nbits);
 
 std::string    m_FileName;
 std::vector<void*>  m_FileAttributes;

};

#endif /*ZIPFILE_H */

 

//
// ZipFile.cpp : implementation file
//

#include <stdio.h>
#include <assert.h>
#include <

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值