标题:如何打包多个png,jpg,mp4之类的文件变成一个dat或者arc文件
取消只看楼主
seahdiao
Rank: 1
来 自:马来西亚
等 级:新手上路
帖 子:20
专家分:0
注 册:2020-3-19
结帖率:100%
已结贴  问题点数:19 回复次数:2 
如何打包多个png,jpg,mp4之类的文件变成一个dat或者arc文件
如题,上网找的都是要用到linux的库, windows的找了很久都找不到。如果可以的话请大佬写个简单的程序来让我研究研究。感觉大佬。
搜索更多相关主题的帖子: 文件 打包 png jpg dat 
2020-10-17 12:41
seahdiao
Rank: 1
来 自:马来西亚
等 级:新手上路
帖 子:20
专家分:0
注 册:2020-3-19
得分:0 
上网找了找很像是把文件一binary方式读入,再全部写进去同一个文件。下面是我自己想的方法

程序代码:
    char i;
    FILE* pic=fopen("pic.jpg", "rb"); 
    FILE* pic2= fopen("pic2.jpg", "rb");
    FILE* target = fopen("pakage.dat", "ab");

while (fread(&i, sizeof(char), 1, pic)) {
        i += 2;
        fwrite(&i, sizeof(char), 1, target);

    }
    
    while (fread(&i, sizeof(char), 1, pic2)) {
        i += 2;
        fwrite(&i, sizeof(char), 1, target);

    }



但是这个方法在拆包时候遇到了点问题,无法知道文件大小来拆,下面是我已知文件大小所以才用for loop硬编码进去的

程序代码:
    for (int i = 0; i < 118934; i++) {
        fread(&x, sizeof(char), 1, target);
        x -= 2;
        fwrite(&x, sizeof(char), 1, pic);
    }

    for (int i = 0; i < 117097; i++) {
        fread(&x, sizeof(char), 1, target);
        x -= 2;
        fwrite(&x, sizeof(char), 1, pic2);
    }


请问还有什么更好的解决方法吗?或者如果我的思路错了请告知,感谢大佬
2020-10-19 14:09
seahdiao
Rank: 1
来 自:马来西亚
等 级:新手上路
帖 子:20
专家分:0
注 册:2020-3-19
得分:0 
回复 3楼 rjsp
就想学习拆包游戏文件,所以想从打包文件开始学起
2020-10-19 15:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503515-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107635 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved