3、lib7z-Memory从内存或网络解压数据(7z内存解压完成)
2016-10-09 14:52
1226 查看
在编译生成Dec7z.lib后,我们验证一下吧。首先建立一个控制台工程,然后引入这个lib:
测试数据用app.7z来进行(下面有下载),先读取全部数据到内存:
接下来,开始解压了,"C:\\Users\\Admin\\Desktop\\KuPlayer" 是解压的目录
来看一下结果吧
我们成功了!欢呼吧,哈哈!
不忍私藏,提供测试工程和数据下载:
http://download.csdn.net/detail/hats8888/9649148
#pragma comment(lib,"E:\\mjy\\projects\\build-Dec7z-453VC6Static-Release\\release\\Dec7z.lib")由于我建的是c++工程,所以需要添加extern "C"来调用lib里的函数:
extern "C" BOOL Extra7zFileToPath(WCHAR* sTargetPath, HWND hwnd, BOOL bUpdate, char* pAllData, DWORD iLength);
测试数据用app.7z来进行(下面有下载),先读取全部数据到内存:
DWORD iAllDataLengtth = 0; char* pAllData = NULL; size_t iReadedSize = 0; FILE* fp = NULL; fp = fopen("C:\\Users\\Admin\\Desktop\\app.7z","rb"); if(fp == NULL) { printf("--open dail Desktop app.7z"); return FALSE; } else { fseek(fp,0,SEEK_END); iAllDataLengtth = ftell(fp); fseek(fp,0,SEEK_SET); pAllData = (char*)malloc(iAllDataLengtth); memset(pAllData,0,iAllDataLengtth); iReadedSize = fread(pAllData,1,iAllDataLengtth,fp); printf("--iAllDataLengtth:%d\n",iAllDataLengtth); printf("--iReadedSize:%d\n",iReadedSize); fclose(fp); }
接下来,开始解压了,"C:\\Users\\Admin\\Desktop\\KuPlayer" 是解压的目录
Extra7zFileToPath(L"C:\\Users\\Admin\\Desktop\\KuPlayer", NULL, FALSE, pAllData, iAllDataLengtth);
来看一下结果吧
我们成功了!欢呼吧,哈哈!
不忍私藏,提供测试工程和数据下载:
http://download.csdn.net/detail/hats8888/9649148
相关文章推荐
- 1、lib7z-Memory从内存或网络解压数据(编译源码、前期准备)
- 2、lib7z-Memory从内存或网络解压数据(分析源码,修改源码)
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- 网络、磁盘、内存哪种方式更适合保存数据?
- 内存数据表和内存索引通用结构(基于C++) --Memory Table Interface Embed In Your Application
- 易语言-从网络列表下载数据并加载到内存数组
- Android三级存储——将网络数据存储到内存和缓存
- Delphi完成网络页面表单数据地自动提交
- 四种方法下载网络文本数据到本地内存
- 数据网络一键完成数据网络备份与恢复
- 一键完成数据网络备份与恢复
- 使用7Z开源SDK压缩解压数据(LzmaCompress、LzmaUncompress)
- 【VB.NET】利用SharpZipLib压缩与解压文件夹中的所有文件、内存中动态压缩解压数据、内存中压缩与解压文本
- 调制解调器是建立网络的,而路由器是网络建立后完成数据转发交换任务的。
- gzip压缩的数据如何在内存中解压
- SSH开发框架中,实现系统启动加载类,读取数据库常用数据进入内存,利用Spring托管,并完成reload功能
- 使用7z压缩解压数据
- 【.NET】利用SharpZipLib压缩与解压文件夹中的所有文件、内存中动态压缩解压数据、内存中压缩与解压文本
- HazelCast-Java实现的内存数据网格(In-Memory Data Grid)分析 一
- 使用AsyncHttpClient框架来完成网络数据的请求