获取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;
}
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;
}