使用Boost.Iostreams实现bzip2格式文件流
来源:互联网 发布:尹恩惠 知乎 编辑:程序博客网 时间:2024/04/29 21:22
给偶自己的网站做广告,摘录自http://www.cpp-prog.com/2009/0114/52_2.html片段
使用Boost.Iostreams实现流方式的bzip2格式压缩、解压操作。
注: 代码里的file_sink和file_source有一个更好的替代品是使用file_descriptor_sink和file_descriptor_source。因为前者会经过std::codecvt界面的编码转换操作,这里我们不需要这种转换,所以后者更合适。不过要麻烦一点的是要在代码里多写几个字母,加一个头文件<boost/iostreams/device /file_descriptor.hpp>以及要在工程中加入文件"<BOOST>/libs/iostreams/src /file_descriptor.cpp"。
注意:要使上面的程序能正确编译,必须为Boost.Iostreams加入bzip2支持,方法如下:1.下载bzip2库并解压(http://www.bzip.org)2.编译bzip2库 gcc/mingw 进入msys, make -f makefile C++ Builder 参考偶的blog VC nmake -f makefile.msc(默认是多线程DLL调试“-MD”,可以修改makefile.msc第7行CFLAGS=里的-MD为-MT或-MTd或-MDd,然后分别重新编译保存成不同的lib文件备用)3.在工程中加入BOOST_IOSTREAMS_NO_LIB预定义,头文件搜索路径里加上bzip2库的路径,并把刚才生成的bzip2库文件和下面这个文件加入工程: "<BOOST>/libs/iostreams/src/bzip2.cpp"4.重新编译注,Boost.Iostreams也自带了zlib/gz格式的支持,加入zlib支持的方式类似。更详细方式请参考联机文档
- 使用Boost.Iostreams实现bzip2格式文件流
- boost翻译(4):boost.iostreams指南--使用Devices
- boost翻译(5):boost.iostreams指南--使用Filters(1)
- boost翻译(6):boost.iostreams指南--使用Filters(2)
- boost翻译(7):boost.iostreams指南--使用Filters(3)
- boost iostreams 压缩文件
- C++ Boost Iostreams
- 使用boost::iostreams库压缩和解压数据
- boost翻译(3):boost.iostreams简介
- APK使用bzip2、bsdiff实现增量升级
- 整合protobuf、boost::iostreams和NetMessage类
- Boost::iostreams 库编译和压缩数据流
- boost 1.47.0 linux/windows 编译库:regex与iostreams
- Standard iostreams 标准输入、输出流
- bzip2
- bzip2
- tar和bzip2的使用
- 使用Boost实现Http断点续传
- 传智播客Java web学习,jsp中的中文乱码问题
- VB调用存贮过程的方法
- ND 一周记
- Excel 输入合法检查
- ORACLE系统结构
- 使用Boost.Iostreams实现bzip2格式文件流
- 设置CEdit控件背景为透明 C++ MFC
- Java操作Excel之理解JXL--读取Excel模板动态写入数据并生成Excel
- UVA 10051
- 一个数据库恢复实验
- 【SSH】Myeclipse下的Struts+Spring+Hibernate开发实例
- sniff,截取外部发送到你机器上的IP数据包.
- dockingpannel开发多文档程序
- 门面(Facade)模式 一