计算机考试文件压缩,使用VC++压缩解压缩文件夹

261/**//

262void CZipImplement::GetRelativePath(CString& pFullPath,CString& pSubString)

263{

264  pSubString = pFullPath.Right(pFullPath.GetLength() - this->m_FolderPath.GetLength() + this->m_FolderName.GetLength());

265}

266

267/**//

268//函数说明:创建多级目录

269//参数说明: [in]:路径字符串

270//返回值: BOOL成功True失败False

271//函数作者:

272//创建日期: 2009-9-28下午04:53:20

273/**//

274BOOL CZipImplement::CreatedMultipleDirectory(wchar_t* direct)

275{

276 std::wstring Directoryname = direct;

277

278  if (Directoryname[Directoryname.length() - 1] !=  ‘““‘)

279 {

280    Directoryname.append(1, ‘““‘);

281 }

282 std::vector< std::wstring> vpath;

283 std::wstring strtemp;

284 BOOL bSuccess = FALSE;

285  for (int i = 0; i < Directoryname.length(); i++)

286 {

287    if ( Directoryname[i] != ‘““‘)

288 {

289      strtemp.append(1,Directoryname[i]);

290 }

291 else

292 {

293      vpath.push_back(strtemp); 294      strtemp.append(1, ‘““‘);

295 }

296 }

297 std::vector<:wstring>:: const_iterator vIter;

298  for (vIter = vpath.begin();vIter != vpath.end(); vIter++)

299 {

300    bSuccess = CreateDirectory(vIter->c_str(), NULL) ? TRUE :FALSE;

301 }

302

303 return bSuccess;

304}

=====================以上为源代码=====================

简单说明:使用VS2003编写.

2.WinXp sp2下运行测试通过.

3.为了简化算法,使用了很多MFC提供的函数, 如果要移植到标准C++请重新实现部分函数.

4.压缩算法采用了ljw1004 这位高手的算法.

5."zip.h" 和 "unzip.h"以及实现请至 http://www.codeproject.com/KB/files/zip_utils.aspx 下载, 下载的源文件中有示例程序可以参考.将下载后的 zip.h unzip.h zip.cpp unzip.cpp 添加到自己的项目中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值