首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

zlib库内存压缩解压缩函数的C++便利性封装

在使用zlib进行内存压缩解压缩的的时候主要用到的函数就是两个compress/uncompress。为了在C++中使用更方便,做一些便利性封装是非常必要的。...下面的代码中主要对zlib的内存压缩和解压缩进行了C++封装,出错以异常抛出。...因为zlib没办法估计解压缩后数据的长度,所以解压缩的时候,如果不知道源数据压缩之前的长度,就得估算一个长度来设置输出缓冲区大小,如果缓冲长度不足导致解压缩失败,就增大缓冲区再尝试直到解压缩成功。...(std::addressof(source),sizeof(T)); } /* * 调用zlib解压缩数据 * uncompress_bound为压缩前的数据长度,如果不知道数据源长度设置为0...(zlib_error_message(err)); } } /* * 调用zlib解压缩数据 * */ inline std::string zlib_mem_uncompress (const

4.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux解压缩文件

    先导:写这篇文章是为了记录在Linux下常用的、简单的进行压缩文件的解压缩以及打包压缩文件的方法,以方便自己未来忘记了在查询 全局说明 下面的两个参数意义 dest:目标文件,压缩的话将dest...来源文件,是一个文件或者一个文件夹,压缩要想打包多个就空格后追加接下来的文件或者文件夹,解压的就不行了 tar.gz 总的来说这是两种格式的压缩文件,tar是归档文件,gz是压缩文件,tar.gz是一种Linux...所以基本操作是一样的,只不过是压缩工具的参数换成-j就行了 打包压缩 tar -cjvf dest.tar.bz2 src 解压缩 tar -xjvf src.tar.bz2 rar 压缩打包...-r dest.rar src 解压缩 unzip -o src.rar 参数说明 r: query,递归操作,子目录也打包 o: override, 覆盖解压缩 gzip 压缩打包 gzip...,自动命名 解压缩 bzip2 -kd src.bz2 参数说明 k: keep, 保留原文件 d: decompress, 解压缩 ---- ?

    5.7K10

    Linux 压缩,解压缩,打包指令

    linux压缩文件扩展名有以下几种: *.Z compress程序压缩的扩展名 *.gz gzip压缩后的扩展名 *.bz2 bzip2压缩后的扩展名 *.tar...tar.gz tar打包后经过gzip压缩后的扩展名 *.tar.bz2 tar打包后经过bzip2压缩后的扩展名 这些扩展名的意义是方便识别是那种压缩指令进行压缩的,从而就知道使用哪种指令进行解压缩...其中compress指令由于压缩效率低下,并且gzip和bzip2都支持解压缩compress压缩过的文件,所以这个指令已经基本上没人使用了。...tar指令的参数非常多 -j: 通过bzip2支持进行压缩/解压缩 -z: 通过gzip支持进行压缩/解压缩 -v: 在压缩/解压缩过程中,将正在处理的文件名显示出来 -c: 建立压缩文件...-f filename.tar.bz2 解压缩:tar -jxv -f filename.tar.bz2 -C 要将压缩文件解压缩到的目录 gzip支持的压缩/解压缩方式 压缩:tar -zcv

    4K10

    Linux入门】压缩与解压缩

    Linux操作系统中,压缩的命令及文件格式更多,本文主要列举常用的压缩与解压缩命令。...压缩打包处理命令tar:打包及压缩zip / unzip:压缩及解压缩 zip 文件rar:压缩及解压缩 rar 文件打包及压缩命令 tartar 命令是Linux下最常用的打包压缩命令,可以将多个文件或目录打包压缩成一个文件...命令格式:tar [参数] 文件名 文件/目录名-c 建立打包文件-x 压缩打包 或 解压缩-t 查看打包文件的内容-z 通过 gzip 的方式进行压缩 / 解压缩,文件名为:.tar.gz-j...通过 bzip2 的方式进行压缩 / 解压缩,文件名为:.tar.bz2-J 通过 zx 的方式进行压缩 / 解压缩,文件名为:.tar.xz-v 执行命令时显示正在处理的文件名-f 后面要立即输入文件名...命令格式:# 压缩rar [参数] 文件名.rar 文件/目录名# a 将文件添加到压缩文件# 解压缩rar [参数] 文件名.rar 目录名# x 解压缩命令示例:# 将目录内的文件生成压缩文件rar

    3.4K21

    Linux中的压缩解压缩命令

    常用压缩格式:.zip, .gz ,.bz2,tar.gz, .tar.bz2 Linux中常用的软件包都是用红色展示的 压缩文件不一定比原文件小,因为压缩文件还包括压缩格式,当原文件比较小时,压缩文件可能会比原文件大....zip压缩 Windows和Linux中的.zip格式是通用的 zip 压缩文件名 源文件 //压缩文件 例:zip 12.zip(必须要加后缀名) 12 zip -r 压缩目录名 源目录 /.../压缩目录 .zip格式解压缩 unzip 压缩文件 //解压缩文件 .gz格式压缩 Windows可以解压缩Linux的.gs格式文件,Linux不能解压缩Windows的.rar格式文件 gzip...(压缩文件不保留) gzip -d 压缩文件 //解压缩文件 gunzip 压缩文件 //解压缩文件 .bz2压缩 bzip2 源文件名 //压缩文件,源文件会消失 bzip2 -k 源文件 //压缩后保留源文件...bzip2不能压缩目录 .bz2解压缩 bzip -d 压缩文件 //解压bzip2文件(-k保留压缩文件) bunbzip 压缩文件 //压缩文件(-k保留压缩文件) 打包压缩与解压缩 tar

    3.2K40

    Linux下怎样解压缩文件

    今天这篇我们来学习和了解“Linux下怎样解压缩文件”,下文的讲解详细,步骤过程清晰,对大家进一步学习和理解“Linux下怎样解压缩文件”有一定的帮助。有这方面学习需要的朋友就继续往下看吧!...root@linux ~]# gzip [-cdt#] 档名 [root@linux ~]# zcat 档名.gz 参数: -c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理; -d :解压缩的参数...[root@linux tmp]# zcat man.config.gz # 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!...范例三:将范例一的文件解压缩 [root@linux tmp]# gzip -d man.config.gz 范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件 [root...[root@linux tmp]# bzcat man.config.bz2 # 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!

    2.4K10
    领券