使用C压缩文本格式的流式字符串数组的最快方法是什么?

时间:2011-07-05 18:26:36

标签: c compression

我对压缩算法的经验很少;我的经验来自于运行tar czvf命令。有没有办法在C中压缩char数组?

我的主要关注点是速度和内存优化。我正在从串口接收数据,然后立即将它们写入日志文件。我想在将数据写入日志文件之前压缩/加密数据,因为我的硬盘空间有限。我也以ASCII格式存储信息,因为我必须用时间戳打包它。我应该采用什么方法来压缩这些信息?或者是否有一些我可以帮助的图书馆?

2 个答案:

答案 0 :(得分:4)

zlib已在评论中提及。由于您提到ASCII,您可能会对函数感兴趣:

ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));

答案 1 :(得分:2)

我在这里有这个lib书签,但我从未使用它。

  

LZO是一个数据压缩库,适用于实时数据解压缩。这意味着它有利于速度超过压缩比。

     

LZO是用ANSI C编写的   源代码和压缩数据   格式设计为可移植的   跨平台。

http://www.oberhumer.com/opensource/lzo/