关于压缩文件时不重命名源文件?
本帖最后由 t101706 于 2012-12-18 16:22:55 编辑
根据以下代码发现压缩后会重命名源文件于压缩文件中,求教怎么不重命名?也就是压缩后,使用原来的名字放于压缩文件中?谢谢
WF_Error CZlib::Compress(const char * DestName,const char *SrcName)
{
FILE * fp_in = NULL;int len = 0;char buf[16384];
WF_Error re = WF_OK;
if( NULL == (fp_in = fopen(SrcName,"rb")))
{
return WF_FAIL;
}
/////////////////////////////////////////////
gzFile out = gzopen(DestName,"wb6f");
if(out == NULL)
{
return WF_FAIL;
}
for(;;)
{
len = fread(buf,1,sizeof(buf),fp_in);
if(ferror(fp_in))
{
re = WF_FAIL;
break;
}
if(len == 0) break;
if(gzwrite(out, buf, (unsigned)len) != len)
{
re = WF_FAIL;
}
}
gzclose(out);
fclose(fp_in);
return re;
}
[解决办法]
偶一直用类似system("rar.exe a pack *.dat");的方法压缩文件。