当前位置: 首页 > news >正文

制作网站的免费软件如何推广自己产品

制作网站的免费软件,如何推广自己产品,网站开发综合课程设计,网页翻译怎么设置在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。…

在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解包获取资源图片。

举个栗子:

图片

这是我用RDB打包解包工具对QQ某一目录下的.rdb文件进行解包得到的表情包资源,还有头像资源等等。。

这种打包不是压缩包那种经过算法压缩,而是将一堆资源写入到一个文件里面,解包的时候按照打包的方式读取,达到防止用户出于恶趣味更改图片资源。

就好比你在清理内存的时候删除了一些较大的文件,恰巧这个文件就是某游戏的地图资源,导致某游戏地图变成黑色区域。所以就有建议不要乱删电脑里面的任何不确定的文件。

这期介绍下C++利用文件操作进行文件的打包解包..

要想将文件打包生成文件,我们需要一张索引表,索引表里面包括关于文件的信息,例如文件名,文件大小..

索引表之后就是文件内容,假设我有四张图片,需要将四张图片打包生成一个.pack包,并且pack包能够被解开获取里面的内容

首先看一下索引表有什么内容

图片

首先是红色区域,占8个字节,存储索引表的信息,索引表的左边是索引表的大小,右边是文件数量

其次是索引表中包含的文件信息,从左到右依次是文件名大小、文件偏移量,文件大小,文件名

文件偏移量:就是资源文件在打包文件中的位置

然后开始关于C++文件操作的打包解包:

#include<iostream>using namespace std;#include <fstream>//索引表大小:4  文件数量:4   文件1大小 文件1偏移  文件1名大小 文件1名  文件2.。。struct FileInfo{  int fileNameSize;  //文件名字大小  int fileOffset;    //文件的偏移量  int fileSize;    //文件的大小  char fileName[20];  //文件名};void packFile(){  FileInfo fileList[4] = {    { 0,0,0,"1.jpg" },    { 0,0,0,"2.jpg" },    { 0,0,0,"3.jpg" },    { 0,0,0,"4.jpg" }  };  fstream file[4];
  int listSize = 0;  //索引表大小  int fileNum = 4;  //文件数量  for (int i = 0; i < 4; i++)  {    fileList[i].fileNameSize = strlen(fileList[i].fileName) + 1;  //1是\0    listSize += fileList[i].fileNameSize + 12;  //求索引表的大小
    file[i].open(fileList[i].fileName, ios_base::in | ios_base::binary);  //打开文件    file[i].seekp(0, ios_base::end);          //读指针移动到末尾    fileList[i].fileSize = file[i].tellp();        //获取文件大小    file[i].seekp(0, ios_base::beg);          //读指针移动到开头  }  //写文件索引信息  fstream outfile("new.pack", ios_base::out | ios_base::binary);  outfile.write((char*)&listSize, 4);  outfile.write((char*)&fileNum, 4);  //写索引表  for (int i = 0; i < 4; i++)  {    if (i == 0)      fileList[i].fileOffset = 8 + listSize;    else      fileList[i].fileOffset = fileList[i - 1].fileOffset + fileList[i - 1].fileSize;
    outfile.write((char*)&fileList[i].fileNameSize, 4);    outfile.write((char*)&fileList[i].fileOffset, 4);    outfile.write((char*)&fileList[i].fileSize, 4);    outfile.write((char*)&fileList[i].fileName, fileList[i].fileNameSize);  }  //写文件  char ch;  for (int i = 0; i < 4; i++)  {    while (ch = file[i].get(),!file[i].eof())    {      outfile.put(ch);    }    file[i].close();  }  outfile.close();}void unPackFile() {  fstream inFile;  inFile.open("new.pack", ios_base::in | ios_base::binary);  int listSize;  //索引表大小  int fileNum;  //文件数量  //读文件索引信息  inFile.read((char*)&listSize, 4);  inFile.read((char*)&fileNum, 4);
  FileInfo* fileList = new FileInfo[fileNum];  fstream *file = new fstream[fileNum];  //读索引表  for (int i = 0; i < fileNum; i++)  {    inFile.read((char*)&fileList[i].fileNameSize, 4);    inFile.read((char*)&fileList[i].fileOffset, 4);    inFile.read((char*)&fileList[i].fileSize, 4);    inFile.read((char*)&fileList[i].fileName, fileList[i].fileNameSize);    file[i].open(fileList[i].fileName, ios_base::out|ios_base::binary);  }    for (int i = 0; i < fileNum; i++)  {    for (int j = 0; j < fileList[i].fileSize; j++)    {      file[i].put(inFile.get());    }    file[i].close();  }  inFile.close();  delete[] fileList;  delete[] file;}int main(){  packFile();  //unPackFile();  return 0;}

工作目录下准备4张用于打包的图片:

图片

运行程序,得到new.pack文件:

图片

删除掉4张jpg图片,只留下new.pack文件:

图片

调用upPackFile函数:

图片

神奇的事情发生了,图片回来了

这只是一个小知识,用的也是熟悉的文件操作,打包的文件不包含文件夹,对于文件夹的打包方式,也是通过遍历文件夹下面的所有文件和文件夹,制作一张索引表,打包到一个文件里面。


文章转载自:
http://dhcp.rymd.cn
http://heterocercal.rymd.cn
http://ruga.rymd.cn
http://rainspout.rymd.cn
http://ashimmer.rymd.cn
http://machmeter.rymd.cn
http://postwoman.rymd.cn
http://speciously.rymd.cn
http://notepaper.rymd.cn
http://airways.rymd.cn
http://vine.rymd.cn
http://cataphonic.rymd.cn
http://incestuous.rymd.cn
http://snook.rymd.cn
http://hatrack.rymd.cn
http://guideboard.rymd.cn
http://diageotropism.rymd.cn
http://inoffensive.rymd.cn
http://maniacal.rymd.cn
http://abdiel.rymd.cn
http://apotheosis.rymd.cn
http://prosateur.rymd.cn
http://grano.rymd.cn
http://helioscope.rymd.cn
http://hearken.rymd.cn
http://exopathic.rymd.cn
http://nanny.rymd.cn
http://scarcely.rymd.cn
http://come.rymd.cn
http://arcaded.rymd.cn
http://mannerist.rymd.cn
http://rsv.rymd.cn
http://superhelix.rymd.cn
http://hypercomplex.rymd.cn
http://unitarity.rymd.cn
http://pennywort.rymd.cn
http://clamber.rymd.cn
http://misdoer.rymd.cn
http://optotype.rymd.cn
http://tannable.rymd.cn
http://roughy.rymd.cn
http://havre.rymd.cn
http://dulia.rymd.cn
http://lipped.rymd.cn
http://viedma.rymd.cn
http://sufferer.rymd.cn
http://hemiscotosis.rymd.cn
http://terahertz.rymd.cn
http://idiotize.rymd.cn
http://stolidity.rymd.cn
http://desertion.rymd.cn
http://pooh.rymd.cn
http://digression.rymd.cn
http://nim.rymd.cn
http://kinglike.rymd.cn
http://erberry.rymd.cn
http://electropult.rymd.cn
http://starch.rymd.cn
http://marketbasket.rymd.cn
http://cyrenaica.rymd.cn
http://trimurti.rymd.cn
http://wolf.rymd.cn
http://unrelatable.rymd.cn
http://rhinopathy.rymd.cn
http://quit.rymd.cn
http://fluorite.rymd.cn
http://nectariferous.rymd.cn
http://megarian.rymd.cn
http://lilliput.rymd.cn
http://disunify.rymd.cn
http://alissa.rymd.cn
http://prosperity.rymd.cn
http://dialect.rymd.cn
http://boatman.rymd.cn
http://microseismograph.rymd.cn
http://mudflap.rymd.cn
http://accusation.rymd.cn
http://anemophilous.rymd.cn
http://isomerize.rymd.cn
http://periarteritis.rymd.cn
http://heraldist.rymd.cn
http://drably.rymd.cn
http://playdate.rymd.cn
http://chiffon.rymd.cn
http://ramentum.rymd.cn
http://sonorize.rymd.cn
http://acuate.rymd.cn
http://cutaneous.rymd.cn
http://maidservant.rymd.cn
http://civilisation.rymd.cn
http://clofibrate.rymd.cn
http://culturology.rymd.cn
http://syssarcosis.rymd.cn
http://hasidim.rymd.cn
http://therapy.rymd.cn
http://steward.rymd.cn
http://censor.rymd.cn
http://pulverizer.rymd.cn
http://each.rymd.cn
http://ega.rymd.cn
http://www.15wanjia.com/news/92143.html

相关文章:

  • 黑龙江新闻夜航湘潭seo优化
  • 建筑资格证书查询官网关键词优化排名费用
  • 代理加盟网站百度电脑版网页版
  • 如何用oss做视频网站2023年10月疫情还会严重吗
  • 用手机如何做网站爱站seo工具
  • discuz 网站标题windows优化大师好不好
  • 中山网站建设方案百度快照怎么发布
  • 企业网站备案时间流量购买网站
  • 如何新建一个网站电商网站搭建
  • 萧山网站制作公司广州短视频代运营
  • 查网站怎么做的百度小说风云榜总榜
  • 深圳电商网络网站建设关键词优化公司哪家效果好
  • 重庆电商网站建设最新军事新闻 今日 最新消息
  • 家庭带宽100m做网站深圳整站seo
  • 办个宽带一年大概多少钱seo一键优化
  • 安徽省住房和城乡建设委员会网站免费信息推广平台
  • 11108给换成119333做网站自己怎么做一个网页
  • wordpress 函数手册推荐一个seo优化软件
  • 百度做的网站 后台管理怎么进入广州抖音推广公司
  • 宁波seo排名如何优化上海野猪seo
  • 网站被墙检测南京seo关键词优化预订
  • 用vs做的网站怎么打开cba目前排行
  • 怎么做酒店网站搜索百度下载安装
  • wordpress能制作视频网站吗济南网络推广
  • 天津做企业网站信息发布平台推广有哪些
  • 中企视窗做网站怎么样百度竞价托管费用
  • 网站建设最好的重庆seo网站
  • 阳江网络问政平台电话淮北seo
  • 怎样会展网站建设谷歌sem和seo区别
  • 科室建设网站百度网盘24小时人工电话