Qt调用zlib压缩解压文件
来源:互联网 发布:山东省网络作家协会 编辑:程序博客网 时间:2024/05/21 06:24
zlib提供compress uncompress 两个函数分别是压缩和解压
ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen));
ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen));
压缩前可以通过compressBound函数来预测压缩后的数据大小
QFile file("SilkPlatform.png"); file.open(QIODevice::ReadOnly); QByteArray bytes = file.readAll(); file.close(); int nDataSize = bytes.size(); char *cData = new char[nDataSize]; memcpy(cData, bytes.data(), nDataSize); int nCompSize = compressBound(nDataSize); char *cComp = new char[nCompSize]; //压缩 if (zlibCompress(cComp, nCompSize, cData, nDataSize) != Z_OK) { printf("compress failed!\n"); return -1; } //解压 memset(cData, 0, nDataSize); if (zlibUncompress(cData, nDataSize, cComp, nCompSize) != Z_OK) { printf("uncompress failed!\n"); return -1; } delete[] cComp; QFile fileOut("SilkPlatformOut.png"); fileOut.open(QIODevice::WriteOnly); fileOut.write(reinterpret_cast<char*>(cData), nDataSize); fileOut.close(); delete[] cData;
需要完整代码请访问QtOtherExamples
阅读全文
0 0
- Qt调用zlib压缩解压文件
- Zlib文件压缩和解压
- Zlib文件压缩和解压
- C++ zlib 压缩解压文件
- Zlib文件压缩和解压
- Zlib文件压缩和解压
- 使用zlib压缩/解压文件
- Zlib文件压缩和解压
- Qt实现zip压缩和解压,编译、调用zlib和QuaZip动态库过程详解
- 使用 ZLib 压缩/解压 ZIP 文件
- 使用 ZLib 压缩/解压 ZIP 文件
- 使用开源库zlib压缩和解压文件
- 使用 ZLib 压缩/解压 ZIP 文件
- 使用 ZLib 压缩/解压 ZIP 文件
- 使用开源库zlib压缩和解压文件
- 使用 ZLib 压缩/解压 ZIP 文件
- 使用开源库zlib压缩和解压文件
- qt 调用zlib压缩与解压缩功能
- Java设计模式01--策略模式
- Keil(MDK-ARM)系列教程
- Hadoop Trash回收站使用指南
- 双数组字典树 DoubleArrayTrie (下)
- c/c++经典面试题
- Qt调用zlib压缩解压文件
- service tomcat does not support chkconfig 的解决办法:
- jQuery-EasyUI-DataGrid 数据表格
- php的转义字符
- Hanoi Tower汉诺塔问题函数递归算法分析及相应python代码
- 微信支付 MD5加密 、xml转Map/Json 、 Map转xml
- js地理位置管理
- 增强学习系列之(二):实现一个简单的增强学习的例子
- windows下用eclipse+goclipse插件