Zlib 压缩/解压缩 C++ Linux
zlib compress/uncompress c++ linux
所以我有一个问题,我似乎找不到答案。
如果我包含压缩小字符数组并将它们添加到较大的字符数组中,我可以立即解压缩该大字符数组并取回所有原始数据吗?
例如:
char arry1 = "Today is";
char arry2 = " a nice day";
char arryBig[20];
//pseudo code for compress, but you get the idea
compress(arry1)
strcpy(arryBig, arry1);
//again, pseudo code for compress
compress(arry2);
strcpy(arryBig+9, arry2);
uncompress(arryBig);
//does arryBig == "today is a nice day" ??
不,你不能。压缩的结果是一个复杂的结构,你不能简单地连接起来。即使你可以,你也不应该使用 strcpy 来做,因为 compress() 的输出很可能包含空字符。
这也是一个坏主意,因为对于长时间的数据,压缩率会好得多。
如果您正在寻找某种流媒体解决方案,您唯一的选择是缓冲您的输入,直到您准备好压缩。另一方面,如果您正在寻找一些类似zip存档的东西,那么zlib网站上有代码可以帮助您创建zip存档。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- 这些是什么样的错误?即使我不在 Linux 上工作,我也遇到了 Linux 错误
- CMake WxWidgets项目成功地在Linux上构建,但没有在Windows上构建