- 论坛徽章:
- 0
|
我的代码如下:
#ifdef WINDOWS
CNameFileFilter ffilter(_T("*"),false,CNameFileFilter::toAll);
//CNameFileFilter ffilter(_T("*.*"),false,CNameFileFilter::toAll);
#else //linux
CNameFileFilter ffilter(_T("*"),false,CNameFileFilter::toAll);
#endif
zip.AddNewFiles(dirpath,ffilter,true,-1,true,CZipArchive::zipsmSafeSmart | CZipArchive::zipsmIgnoreDirectories,65536);
zip.EncryptAllFiles();
zip.Close(CZipArchive::afNoException,false);
上面的代码在linux压缩正常,文件及子目录均正常压缩。但是在windows里面,无论我使用_T("*"),还是_T("*.*"),都不正常,dirpath下的子目录下的文件都压缩到平级的目录下来了。
举例说明:
a目录下有文件test.txt,子目录abc,abc子目录下有文件test1.txt。
在windows下压缩后,压缩文件结构就变成了test.txt和test1.txt在同一级目录了..
请问大家怎么回事了.我仔细看了文档,应该没有用错函数和方法,linux下,代码一切正常. |
|