返回顶部

收藏

用zlib1g解压 memcache 已经压缩的数据

更多

平台:Linux gaojie 3.2.0-33-generic-pae #52-Ubuntu SMP Thu Oct 18 16:39:21 UTC 2012 i686 i686 i386 GNU/Linux

依赖:zlib1g-dev

#include <stdio.h>
#include <zlib.h>
#include <zlibdefs.h>

int main(int argc, char *argv[]) {

    //该文件大小是319
    size_t f_size = 319;
    //打开压缩文件,为了代码简洁, 已经将memcached压缩(gzip)的数据已经放在一个文件里
    FILE * fp = fopen("/home/gaojie/xx.zip", "r+");
        //memcache取出来的数据
    char ibuf[f_size];
    size_t rc0 = fread(ibuf, f_size, 1, fp);
    printf("fread:%d\\n:", rc0);

    //创建一个临时文件
    FILE * tFile = tmpfile();
    fwrite(ibuf, 1, f_size, tFile);
    fseek(tFile, 0, SEEK_SET);
    //获取fd
    int mf_fd = fileno(tFile);

    //打开文件
    gzFile gzf = gzdopen(mf_fd, "r+");
    printf("gzf:%p\\n", gzf);
    char buf[4096] = { 0 };
    int rc = gzread(gzf, buf, 4096);
    printf("gzread:%d\\n", rc);

    printf("gzread:%s\\n", buf);

    return 0;

}
//该片段来自于http://outofmemory.cn

标签:c++,基础

收藏

0人收藏

支持

0

反对

0

»更多 您可能感兴趣的代码
  1. 2012-11-05 21:59:42java获得随机数代码 by 怪兽狂殴奥特曼
  2. 2014-11-04 13:01:18获取char*的长度 by 千万不要郁闷
  3. 2014-11-08 09:58:58打印日历 by aiheng1988
  4. 2014-12-07 12:15:24拉格朗日插值法求某一处的函数值 by qqmmcc
  5. 2012-12-18 14:03:31C++实现日期相加 by zoufei
  6. 2014-05-13 15:32:20生成不重复的随机数 by 灵剑子
  7. 2014-05-16 16:10:51通讯录管理系统 by aiheng1988
  8. 2014-05-17 16:21:16使用C++TR1实现物流配送的简单模拟 by 童学芬
  9. 2014-05-17 21:55:43计算器 by qqmmcc
  10. 2014-05-20 13:58:13基本的随机数的产生和排序 by qqmmcc
  11. 2014-05-21 14:30:44够2的程序 by 小项

发表评论