所以我有一个问题似乎找不到答案。
如果我包含压缩小字符数组并将它们添加到一个较大的字符数组中,我可以一次解压缩那个大字符数组并取回所有原始数据吗?
例如:
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++ - zlib压缩/解压缩c++ linux,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35755192/