snappy是google的一款压缩/解压库。github
环境:
ubuntu16.04
gcc version 5.4.0(系统自带)
cmake 3.5.1
snappy 1.1.8
snappy下载
下载地址选择1.1.8版本下载
cmake配置
sudo apt-get install cmake
snappy安装
首先将下载好的文件(snappy-1.1.8.tar.gz)解压,进入解压好的文件夹打开终端,输入如下命令:
mkdir build
cd build
cmake ../
make
此时在build文件夹下可以得到静态链接库libsnappy.a
以及头文件snappy-stubs-public.h
编写代码
在snappy.h提供了两个函数调用:
#压缩
size_t Compress(const char* input, size_t input_length, std::string* compressed);
#解压
bool Uncompress(const char* compressed, size_t compressed_length, std::string* uncompressed);
可以看出snappy是根据字符来进行压缩的。
按行压缩文件
按行读取文件并进行压缩,并将压缩后的值写入文件中。
#smain.cpp
#include <iostream>
#include "snappy.h"
#include <string.h>
#include <fstream>
using namespace std;
int main(int argc, char*