首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于压缩文件时不重命名源文件?解决方案

2013-01-01 
关于压缩文件时不重命名源文件?本帖最后由 t101706 于 2012-12-18 16:22:55 编辑根据以下代码发现压缩后会

关于压缩文件时不重命名源文件?
本帖最后由 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");的方法压缩文件。

热点排行