[英]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归档文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.