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

使用gzip源代码的有关问题

2012-03-18 
使用gzip源代码的问题过程如下我把gzip1.2.4的main函数改成了gzip_main以后,make一下,不能通过,但是可以得

使用gzip源代码的问题
过程如下
我把gzip1.2.4的main函数改成了gzip_main以后,make一下,不能通过,但是可以得到15个.o文件,然后我用
gcc   -shared   -Wl,-soname,libgzip.so.1   -o   libgzip.so.1.0   *.o
 
ln   -s   libgzip.so.1.0   libgzip.so.1
ln   -s   libgzip.so.1   libgzip.so
可以得到一个动态库

然后我写了一个程序来使用他,程序如下
  int   create_temp(char   *src,   int   slen)
{
        FILE*   fp=0;
        int   len   =0;
        fp   =   fopen(   TF,   "w+ ");
        len=fwrite(   src,   1,   slen,   fp);
        if(!len)
        {
                close(fp);
                return   (int)-1;
        }
        close(fp);
        return   (int)1;
}#define   DD             "./gzip "
int   main(int   argc,char**   argv)
{

        FILE*   fp=0;
        char   test_str[64*1024];
        int   fl=0;
        int   ac=3;
        char   *av[]={DD, "-N ",   "tem "};

        memset(test_str,0,64*1024);
        fp   =   fopen( "ChangeLog ", "r ");
        fseek(fp,0,SEEK_END);
        fl=ftell(fp);
        rewind(fp);
        fl=fread(test_str,   1,   fl,   fp);
        fclose(fp);

                create_temp(test_str,   fl);

                gzip_main(   ac,   av);
}
这段代码的意思就是把得到的一段数据存到一个文件里,然后使用gzip的库来对他进行压缩,但是问题就这样出来了,gzip_main只能单独的去解压缩这个文件.create_temp(test_str,   fl);gzip_main(   ac,   av);这样使用就会少2k的字节;如果文件事先存在,单独使用gzip_main(   ac,   av);又是正常的,实在不知道这个问题从哪里入手了,大家要帮帮我啊
最近要弄一个这样压缩程序,有好心人有这方面的经验吗,帮帮我吧,马上要交活了


[解决办法]
有个zlib库,开源的,应该比你这样用省事些

热点排行
Bad Request.