获取gzip文件解压后文件大小

    由于工作原因,要做gzip文件解压缩,并且带进度条。因此必须在解压过程中就知道解压后的文件真实大小。搜索引擎搜遍国内外,基本上只有问问题的,根本就么有答案。这里我在博客记录下来,希望给以后遇到这个问答题的朋友,能够搜索到答案。
其实很简单,下面是代码。
/*
autho:zhujian
date:2009/9/5
discripte:无聊
*/
#include 
<stdio.h>
int main()
{
    FILE 
* pFile = NULL;
    
int nRes = 0;
    
int nUnCompressSize = 0;
    pFile 
= fopen("test.gz","r");
    
if (!pFile )
        
goto Exit0;
    nRes 
= fseek(pFile, -4, SEEK_END);
    
if (nRes)
        
goto Exit0;
    fread(
&nUnCompressSize,sizeof(int),4,pFile);
    printf(
"uncompress file size %d \n",nUnCompressSize);
Exit0:
    
if(pFile)
    {
       fclose(pFile);
    }
    
return 0;
}

posted @ 2009-09-05 19:59  debugzhu  阅读(1764)  评论(0编辑  收藏  举报