VC++ 关于文件合并和读取

VC++6.0的已知一个bmp文件,一个wav文件。我想把它们2个合成一个文件存储在硬盘上,比如说新的文件格式*.bw,有什么解决方法?然后我想把*.bw读取还原成一个b... VC++ 6.0的
已知一个bmp文件,一个wav文件。我想把它们2个合成一个文件存储在硬盘上,比如说新的文件格式*.bw,有什么解决方法?
然后我想把*.bw读取还原成一个bpm和wav,怎么做?
有哪本书里面详细讲解了么?
展开
 我来答
龚炜林
2013-04-29 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:578万
展开全部
用二进制读写方式:
分别以二进制打开两个文件,然后按一定顺序输出到另一个.bw文件即可。
也可以使用压缩ZIP和加密方式:
可以自己网上所有 VC压缩和解压
有很多源码和说明。
比如这里:http://download.csdn.net/detail/night_legend/1071613
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yinfengnong
2013-04-29 · TA获得超过5619个赞
知道大有可为答主
回答量:2344
采纳率:89%
帮助的人:2292万
展开全部
可以在新文件的头部存放一些文件信息的数据比如这个文件中合并了多少个文件,
每个文件的文件名称,大小,属性,在新文件的中的开始位位置....
然后把要合并的文件,依次写到新文件中
还原时,读取新文件的头部,取出合并文件的信息,再从新文件中读取合并文件的数据,写到另一个文件中.
追问
道理我倒是知道,关键是具体的实现怎么弄的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9de5b9a
2013-04-29 · TA获得超过894个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:457万
展开全部
typedef struct tagNewFileHead
{
DWORD cbSize;
DWORD dwFileCount;//文件数目
DWORD pFileList; //指向
}TNewFileHead;
typdef struct tagFileInfo
{
DWORD cbSize;
char achName[MAX_PATH]; //文件名称
DWORD dwSize;//文件大小
}TFileInfo;

//合并的时候,假如有2个文件,b.avi,a.txt. -->c.bm
1.填充TNewFileHead tNewFileHead;
tNewFileHead.cbSize = sizeof(TNewFileHead );
tNewFileHead.dwFileCount = 2;
tNewFileHead.pFileList = ( sizeof(TNewFileHead ));

FILE * f = fopen("c.bm","wb");
fwirte(&tNewFileHead , 1, tNewFileHead.cbSize, f);

2.文件类表
TFileInfo tFileInfo= {0};
tFileInfo.cbSize = sizeof(tFileInfo);
memcpy(tFileInfo.achName , "a.rmvb" , strlen("a.rmvb"));
tFileInfo.dwSize = //文件的大小,自己查一下怎么得到文件大小
fwirte(&tFileInfo, 1, tFileInfo.cbSize, f);
类似在填充所有的文件信息

3。就是安顺序把所有的文件写到这个文件中

4.读取的时候,写读取头,在读取文件类表,一个一个解析就好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式