求文件打包程序的设计思路,类似rar但不要求压缩 RT, 就是想把不同种类的N个文件打包成一个文件(file_name.pack), 需要拆分文件时再选择file_name.pack, 拆分成多个文件放到指定目录下。问题:整合为一个文件:把零碎文件以二进制打开, 然后依次写入 file_name.pack应该就可以了。 但如何再把file_name.pack拆分呢? 比如说有BMP. JPG. 我还要考虑它们的存储格式?求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文件类型和大小写进.pack里面,拆分的时候读类型和大小不就行了 小小建议。。 这个是非常灵活的,完全依赖于你自己怎么定义。所以文件一视同仁全部看作binary流,自己开辟一块区域对文件表进行管理,这就类似于windows系统里的FAT,至于具体存储一些什么信息,这个要看自己的需求,但是一般来说每个文件的长度是必不可少的(否则你不知道该怎么解压),然后是文件名,如果考虑解压速度,可以设定两个DWORD域存储文件开始和结尾位置。整合时程序维护一个文件信息表,然后把所有文件数据整合到一起生成一个.X文件,最后把文件头信息数据写进去(写到哪儿完全看你自己怎么想,别人都不知道)。甚至可以做到文件交替存储,固定算法存储,看你的设计要求了。如果要求没那么高,那就流水账。很简单的 file_name.pack文件中,主要分为两部分(头和体),头部分写入保存文件的信息(文件名,大小等),体部分保存文件内容。可以写成类似XML的格式。例如:<package> <file> <head> <name>1.jpg</name> <size>1024</size> </head> <body>...</body> </file> <file> ... </file></package> 很简单的方法是:一、打包新建目标文件for(int i=0;i<文件数;i++);{ 打开文件i 获取文件i长度 长度写入目标 文件写入目标 关闭文件i}关闭目标文件二、解包打开包文件for(int i=0;i<文件数;i++);{ 新建文件i 从包读取长度; 按长读取数据 数据写入文件i 关闭文件i}关闭包文件 刚工作,一个人,在外地,今天生日!!发个帖庆祝一下!! MFC DLL中怎么设置Edit的值 关于CRichEditCtrl的undo的问题 sprintf格式化字串, 在OutputDebugString中输出的问题? 我的csdn的导航条装过vc后不 能用怎么办 请教:编译时出现的问题,怎么回事?正在做毕业设计,很急,谢谢! 多个线程能同时访问同一个全局对象的方法吗? ADO一问,望指点!请速回... 怎么在vc中编写实现txt和doc文档的打开和浏览 VC 检测USB接入的设备是什么设备? 会有中文版本的MSDN的吗? CString
整合时程序维护一个文件信息表,然后把所有文件数据整合到一起生成一个.X文件,最后把文件头信息数据写进去(写到哪儿完全看你自己怎么想,别人都不知道)。
甚至可以做到文件交替存储,固定算法存储,看你的设计要求了。如果要求没那么高,那就流水账。
很简单的
<file>
<head>
<name>1.jpg</name>
<size>1024</size>
</head>
<body>...</body>
</file>
<file>
...
</file>
</package>
新建目标文件
for(int i=0;i<文件数;i++);
{
打开文件i
获取文件i长度
长度写入目标
文件写入目标
关闭文件i
}
关闭目标文件二、解包
打开包文件
for(int i=0;i<文件数;i++);
{
新建文件i
从包读取长度;
按长读取数据
数据写入文件i
关闭文件i
}
关闭包文件