首页 > 其他分享 >bundle库解压缩

bundle库解压缩

时间:2023-09-07 21:01:50浏览次数:48  
标签:std int 解压缩 bundle 压缩文件 include

bundle库解压缩

我们将上一节的压缩文件进行解压缩:

//使用bundle库实现解压缩
#include "bundle.h"
#include <iostream>
#include <fstream>
#include <string>
int main(int argc,char* argv[])
{
    std::cout << "argv[1]是压缩包文件名称\n";
    std::cout << "argv[2]是要解压之后的文件名称\n";
    if(argc < 3)
    {
        std::cout << "参数个数错误\n";
        return -1;
    }
    std::string ifilename = argv[1];//压缩包名称
    std::string ofilename = argv[2];//要解压的文件名称
    //将压缩包中的数据读取出来
    std::ifstream ifs;
    ifs.open(ifilename,std::ios::binary);
    //跳转到文件末尾
    ifs.seekg(0,std::ios::end);
    //计算文件大小
    size_t fsize = ifs.tellg();
    //跳转到文件开始位置
    ifs.seekg(0,std::ios::beg);
    //定义一个string用来保存数据
    std::string body;
    body.resize(fsize);
    ifs.read(&body[0],fsize);
    //关闭文件
    ifs.close();
    //对文件进行解压
    std::string unpacked = bundle::unpack(body);//直接将body传入就可以解压
    //打开要解压之后的文件
    std::ofstream ofs;
    ofs.open(ofilename,std::ios::binary);//以二进制形式打开文件
    ofs.write(&unpacked[0],unpacked.size());//将解压后的文件写入当前文件
    ofs.close();
}

标签:std,int,解压缩,bundle,压缩文件,include
From: https://blog.51cto.com/u_15562309/7401570

相关文章

  • 解压缩
    解压缩解压缩首先里面要有多个变量值解压缩的意思就是一次性取出多个变量值#解压缩,解压缩首先里面要有多个值#解压缩的意思就是一次性取出多个值lis=[1,2,3]#将lis列表中的元素分别赋值给x1,x2,x3x1,x2,x3=lisprint(x1,x2,x3)#输出:1,2,3#假设我不需要2x1,_,x3......
  • Go如何自动解压缩包?如何读取docx/doc文件内容?
    在开发过程中,我们常常需要处理压缩包和文档文件。本文将介绍如何使用Go语言自动解压缩包和读取docx/doc文件。一、解压缩包压缩包格式常见的压缩包格式有zip、gzip、bzip2等。在Go语言中,使用archive/zip、compress/gzip、compress/bzip2包可以轻松地处理这些格式......
  • AssetBundle打包和读取
    基本信息  创建了项目名有YoyoProject工程,是一个3D模板的工程,使用的是unity2021版本,windows11系统。打包打包路径stringdataPath=Application.dataPath;stringpersistentDataPath=Application.persistentDataPath;stringstreamingAssetsPath=Application.stream......
  • CentOS安装rar、unrar解压缩软件的方法
         闲话不说,centos上如何安装rar、unrar在线解压缩软件呢?如果您的centos是32位的,执行如下命令:wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gztar -zxvf rarlinux-3.9.3.tar.gzcd rarmake看见下面这些信息就是安装成功了:mkdir -p /usr/local/bi......
  • Python教程:Gzip解压缩
    我们将介绍Python中的gzip解压。我们还将介绍如何使用gzip解压来解压压缩的内容。Python中的Gzip解压在Python中为压缩和解压目的建立了许多库,但我们将介绍Gzip库。它是一个流行的数据压缩工具。我们可以使用gzip,通过对数据进行特殊格式的编码来减少文件的大小,这种格式不......
  • Unity 资源加载的两种方式:Resources和AssetBundle最详细的解析(转)
    https://blog.csdn.net/xinzhilinger/article/details/115408934前言:在游戏开发学习初期,游戏体量较小,如果游戏场景需要Asset中的资源,我们可能会通过拖动的方式,将其添加到游戏场景中。而到了实际工作中,会发现再这样做就会使得各种拖动的资源非常复杂,难以查找与维护关于资源:在......
  • vite 找不到依赖模块:[plugin:vite:dep-pre-bundle]
    问题描述:运行项目时,出现[plugin:vite:dep-pre-bundle]错误。这种问题一般为依赖的包未正常配置相关字段,导致vite无法找到包的入口。遇到这种模块内、找不到引用模块的,都可以用路径别名来解决解决办法://vite.config.jsalias:[{find:'fs',replacement:'node_modules/......
  • Codeforces 1854E - Game Bundles
    都这么会乱搞的吗/xia随机生成若干\(<30\)的数直到它们当中和为\(60\)的子集个数\(>k\)为止。删去最后一个元素。然后考虑贪心确定\(>30\)的部分,具体方法是按照\(dp_{60-x}\)从大到小贪心选,如果剩余子集个数\(\gedp_{60-x}\)就在序列中加入\(x\)。如此随机化直到找......
  • iOS中NSBundle的介绍
    bundle是一个目录,其中包含了程序会使用到的资源.这些资源包含了如图像,声音,编译好的代码,nib文件(用户也会把bundle称为plug-in).对应bundle,cocoa提供了类NSBundle.我们的程序是一个bundle.在Finder中,一个应用程序看上去和其他文件没有什么区别.但是实际上它是一个包含了nib文......
  • ios 自制Framework 获取指定bundle并读取里面的资源
    原文地址:https://zhanglei.blog.csdn.net/article/details/121673288目录一、前言二、访问应用资源三、Framework中的资源存放四、访问Framework中指定的bundle五、访问bundle中的资源六、建议Framework与bundle分开存放一、前言应用中某些模块需要组件化,组件化后的工程最后会......