zip.h解析

// 返回值
#define ZIP_OK                          (0)
#define ZIP_EOF                         (0)
#define ZIP_ERRNO                       (Z_ERRNO)
#define ZIP_PARAMERROR                  (-102)
#define ZIP_BADZIPFILE                  (-103)
#define ZIP_INTERNALERROR               (-104)

// 压缩等级
#ifndef DEF_MEM_LEVEL
#  if MAX_MEM_LEVEL >= 8
#    define DEF_MEM_LEVEL 8
#  else
#    define DEF_MEM_LEVEL  MAX_MEM_LEVEL
#  endif
#endif

// zip文件修改/保存时间的结构体tm_zip
// 注意月的取值范围是[0-11]
typedef struct tm_zip_s
{
	uInt tm_sec;            // 秒
	uInt tm_min;            // 分
	uInt tm_hour;           // 时
	uInt tm_mday;           // 天
	uInt tm_mon;            // 月
	uInt tm_year;           // 年,范围[1980,2044]
} tm_zip;

// zip的信息结构体zip_fileinfo
typedef struct
{
	tm_zip      tmz_date;       // 文件的上次修改/保存时间
	uLong       dosDate;        // dos格式时间。设为0即可
	uLong       internal_fa;    // 内部文件属性
	uLong       external_fa;    // 外部文件属性
} zip_fileinfo;

typedef const char* zipcharpc;


#define APPEND_STATUS_CREATE        (0)	//创建新文件
#define APPEND_STATUS_CREATEAFTER   (1) 	//在已有zip文件后追加(无视密码?)
#define APPEND_STATUS_ADDINZIP      (2) 	//在已有zip文件中添加
// 不存在从zip中删除子文件的操作。若有此需求,需要创建新的zip

// 创建/打开一个zip文件。执行压缩操作必须首先调用此函数
extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));


// 创建/打开zip文件中的一个子文件,将其设为当前文件,以用于后续的写入操作。
extern int ZEXPORT zipOpenNewFileInZip OF((
	zipFile file,					// zip文件
	const char* filename, 			// zip中需要写入的子文件的文件名
	const zip_fileinfo* zipfi,		// 传入一些包括日期在内的zip补充信息
	const void* extrafield_local,		// 本子文件扩展信息
	uInt size_extrafield_local,		// 本子文件扩展信息大小
	const void* extrafield_global, 	// 全局文件扩展信息
	uInt size_extrafield_global, 		// 全局文件扩展信息大小
	const char* comment,				// 注释			
	int method,						// 压缩方式:0-store,ZDEFLATED-deflate
	int level						// 压缩等级:[0,9]。详见下面说明
	));

// 压缩等级
#define Z_NO_COMPRESSION         0
#define Z_BEST_SPEED             1
#define Z_BEST_COMPRESSION       9
#define Z_DEFAULT_COMPRESSION  (-1)	// 默认取值


// 向打开的当前文件中写入数据
extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
	const void* buf,
	unsigned len));

// 关闭打开的当前文件
extern int ZEXPORT zipCloseFileInZip OF((zipFile file));

extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
	uLong uncompressed_size,
	uLong crc32));
/*
Close the current file in the zipfile, for file opened with
parameter raw=1 in zipOpenNewFileInZip2
uncompressed_size and crc32 are value for the uncompressed size
*/

// 关闭zip文件。压缩完成
extern int ZEXPORT zipClose OF((zipFile file,
	const char* global_comment));

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: reg52.h头文件是一种常用的基于8051单片机的C语言编程库文件,用于编写控制和操作8051单片机的程序。要下载reg52.h头文件,可以按照以下步骤进行操作: 1. 打开互联网浏览器,进入搜索引擎网站,例如Google、百度等。 2. 在搜索引擎的搜索框中输入关键字“reg52.h头文件下载”。点击“搜索”按钮,将会出现相关的搜索结果。 3. 在搜索结果中,寻找可靠且权威的网站,例如官方网站或开源项目网站,以确保所下载的文件是正版且可信赖的。 4. 点击相应的下载链接或按钮,进入文件下载页面。 5. 根据网站的提示,选择下载reg52.h头文件的方式,可以是直接点击下载链接,也可以是通过右键菜单选择“另存为”或“下载链接”。 6. 确保所选择的下载文件是以.h为后缀的C语言头文件,并且与你需要的版本相匹配。 7. 设置下载路径,选择一个合适的文件夹保存下载的reg52.h头文件。建议将其保存到你的项目文件夹中,以便日后使用。 8. 点击下载或保存按钮,等待文件下载完成。 9. 下载完成后,打开保存的文件夹,确认reg52.h头文件已成功下载并保存。 10. 将reg52.h头文件拷贝到你的C编译器或集成开发环境(IDE)的工程目录中,或者你的项目文件夹中。 现在,你已经成功下载了reg52.h头文件,可以在你的8051单片机的C语言项目中使用它来进行编程和控制操作了。 ### 回答2: 要下载reg52.h头文件,首先需要找到一个可靠的来源并下载相关的压缩文件。以下是一种常见的方式: 1. 打开一个可信赖的网站,如GitHub(https://github.com/)或者开源中国(https://gitee.com/)。在搜索栏中输入“reg52.h”进行搜索。 2. 在搜索结果中浏览各个项目,找到包含reg52.h头文件的项目。通常,该项目会是一个开源项目,比如51单片机常用的库函数或者嵌入式系统的相关代码。 3. 进入相关项目的页面,找到可供下载的压缩文件(通常是.zip或.tar.gz格式)。点击下载按钮将压缩文件保存到本地计算机的合适位置。 4. 解压缩下载的文件。如果是.zip压缩包,可以使用系统自带的解压工具或者第三方解压软件进行解压缩。如果是.tar.gz压缩包,需要使用命令行或者第三方软件进行解压缩。 5. 解压缩后,你会得到一个或多个文件,其中应该包含了reg52.h头文件。将该头文件复制到你的项目文件夹中的合适位置。 现在,你已经成功下载并获取到了reg52.h头文件,可以在你的编程项目中使用它了。在编译时,确保正确引入该头文件并设置正确的路径,以便编译器能够找到该文件并正确解析其中的内容。 ### 回答3: reg52.h是一种用于51系列单片机的头文件,包含了51系列单片机的寄存器和相关函数的定义。要下载该头文件,可以按照以下步骤进行操作: 1. 打开浏览器,进入搜索引擎(如百度、谷歌)。 2. 在搜索栏中输入“reg52.h下载”等相关关键词,进行搜索。 3. 在搜索结果中,会出现一些相关的网站链接,点击其中一个链接。 4. 进入所选链接的网站,通常会看到一个下载按钮或者下载链接。 5. 点击下载按钮或者下载链接,开始下载reg52.h文件。 6. 下载完成后,将reg52.h文件保存到本地计算机的某个目录中,方便后续引用和使用。 需要注意的是,在下载和使用该头文件之前,可能需要确保你的开发环境已经安装了相应的单片机开发工具和编译器,以确保能够正确地引用和编译该头文件。另外,下载的文件来源需要可信,可以选择官方网站或者知名的开发者社区进行下载,以保证文件的完整性和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值