如何用CZip/CUnzip类压缩/解压缩文件
本文先容如何用CZip/CUnzip类压缩/解压缩文件,这个类利用gzip GNU源代码(gzip-1.2.4a)。这是个免费软件,在GUN通用民众许可证(General Public License)条款下可以分发及修改此软件,关于这个通用民众许可证的具体条款请参考:
http://www.vckbase.com/vckbase/uniondocs/gungpl.htm
方针动态库输出两个类:
CZip(用于压缩文件)
CUnzip (用于解压缩文件)
首先用文件名成立CZip 或 CUnzip 工具。然后,压缩息争压缩都必需挪用工具的 SwapSize() 要领,参数是方针文件名。假如挪用堕落,SwapSize()可以丢出CZipException异常。与异常相关的信息可以用GetStringt要领来得到,以下几种环境城市发生异常:
–源文件不存在或无法以读方法打开文件
–无法建设方针文件。譬喻,这个文件已经存在
–gzip代码返回一个错误,在这种环境下,与异常相关的信息包括由gzip源代码通过stderr返回的信息
CZip 或 CUnzip的利用要领如下:
在工程中包括czip.h文件
用zipdll.lib将工程链接到zipdll.dll
将zipdll.dll拷到可执行文件地址的目次
留意:也可以动态链接到zipdll.dll(没有测试过)。下面是利用CZip/CUnzip类的例子代码段:
try
{
CZip myFileToZip ("file_to_zip_name");
myFileToZip.SwapSize ("file_zipped_name");
}
catch (CZipException e)
{
cout << "problem while zipping : " << e.GetString() << endl;
delete pExcep;
}
留意: 假如想用WinZip来解压缩,则不能用".zip"作为文件扩展名。不然WinZip无法打开这个文件。 用WinZip压缩的文档(只能包括一个文件)可以用CUnzip工具解开。
本文配套源码