2012-02-17 125 views
-3

我需要紧急帮助,使用zlib压缩整数数组,并且这些语言将使用c语言。 我有:uint16_t arrayOfData [120]我想压缩它,以便我得到压缩版本并在同一个程序中使用它(我不想读取和写入流)。 请等待任何帮助,如果示例代码可用,它将是伟大的!使用zlib压缩C语言中的整数数组

预先感谢

+3

[你有什么尝试?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2012-02-17 18:31:17

+0

对于那些想投下赞成票的人:请重新思考。这个问题似乎是有效的和主题。它缺乏研究,这是肯定的。但这并不是偏离主题,作者对需要什么非常清楚。恕我直言,它值得'-1',而不是关闭。 – quetzalcoatl 2014-02-25 16:05:04

回答

2

有一个在http://zlib.net/zlib_how.html一个例子。

+0

下面的代码是我的压缩试验。实际上,我想压缩一个INTEGERS数组,而不是CHARS中的代码。我发现compress和uncompress方法需要缓冲区(输入和输出)的UNSIGNED CHAR *类型的参数, ,我的问题是我如何适应代码与整数(输入缓冲区和输出)?应改变zlib参数或只铸造从int到char(我试着铸造但有错误) – 2012-02-21 00:47:37

+0

铸造工作正常。所有的数据,包括一个整数数组,都可以看作是一个字节序列。只要确保您正确计算了数组中的字节数。如果你在同一台机器上进行压缩和解压缩,你将没有问题。如果您想在机器之间传输压缩数据,那么您需要注意整数中字节的长度和顺序。为了便于携带,您需要使用移位操作将整数编码为字节,然后反转另一端的操作。 – 2012-02-21 01:03:28

+0

谢谢你的帮助。实际上,我需要将压缩缓冲区(压缩整数音频采样)作为一个块传送到另一台PC,我打算解压缩它并将其作为整数(采样)数组取回,然后播放样本。我希望演员不会为这种应用程序造成问题。 – 2012-02-21 01:24:44