鱼C论坛

 找回密码
 立即注册
查看: 1499|回复: 18

[已解决]文件合成,jpg,txt,rar,zip进行合成出现的问题,附代码。

[复制链接]
发表于 2022-2-22 21:21:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
typedef char name[20];

int main()
{
    FILE *f_picture,*f_file,*f_finish;//文件指针
    name picture,file,finish;//文件路径
    char ch;//暂存区
//若是在同一文件夹下(路径),只输入名称。否则需输入完整路径。
    printf("欢迎使用图文合成器!\n");
/*文件打开指向块*/
    printf("合成所需的图片名称:");
    scanf("%s",picture);
    f_picture=fopen(picture,"rb");//2进制打开形式
    if(f_picture==NULL)
    {
        printf("合成操作失败!");
        printf("Cannot open the picture !\n");
        return 0;
    }
    printf("合成所需的文件名称:");
    scanf("%s",file);
    if(!(f_file=fopen(file,"rb")))
    {
        printf("合成操作失败!");
        printf("Cannot open the file !\n");
        return 0;
    }
    printf("合成的文件名称:");
    scanf("%s",finish);
    if(!(f_finish=fopen(finish,"wb")))
    /*文件若不关闭,内部指针则指向end。
    若有文件的关闭操作,后需加入end,应用ab指令*/
    {
        printf("合成操作失败!");
        printf("Cannot open the finish file !\n");
        return 0;
    }
/*文件合成关闭块*/
    while(!(feof(f_picture)))//文件未结束进行循环
    {
    //文件还未到end时,feof()返回零
        ch=fgetc(f_picture);
        fputc(ch,f_finish);
    }
    //文件用完即关闭
    fclose(f_picture);
    while(!(feof(f_file)))
    {
        ch=fgetc(f_file);
        fputc(ch,f_finish);
    }
    fclose(f_file);
    fclose(f_finish);
    return 0;
}

实验都是jpg+其他形式的文件,合成之后文件确实变大了,也是前两者之和。但是就是打不开后一个文件的内容。
最佳答案
2022-2-22 22:33:56
爱上pc的Qt 发表于 2022-2-22 22:18
修改后缀名不能操作吗?

一个文件是什么类型是在前面N个字节标记。
相应的软件只在文件中读取它需要的内容,后面不需要的自然不会被读取。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-22 21:23:54 | 显示全部楼层
球球大佬们解答一下啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:00:45 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 21:23
球球大佬们解答一下啦

txt.还可以相加
但是其他文档怎么能直接相加???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:01:00 | 显示全部楼层
2种类型的文件,2进制合并后,
请问你要怎么打开后一个文件的内容???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:18:11 | 显示全部楼层
ba21 发表于 2022-2-22 22:01
2种类型的文件,2进制合并后,
请问你要怎么打开后一个文件的内容???

修改后缀名不能操作吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:19:25 | 显示全部楼层
wp231957 发表于 2022-2-22 22:00
txt.还可以相加
但是其他文档怎么能直接相加???

啊,不能吗?我是看视频学的,他那个视频里有一个rar文件和jpg文件,他就可以啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:25:28 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 22:19
啊,不能吗?我是看视频学的,他那个视频里有一个rar文件和jpg文件,他就可以啊

jpg需要做实验,rar/zip目测相加后肯定打不开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:30:46 | 显示全部楼层
wp231957 发表于 2022-2-22 22:25
jpg需要做实验,rar/zip目测相加后肯定打不开

我都试过了,总结就是不管怎么样,第二个合并的文件是打不开的。
除了第二个是txt文本,他显示的是乱码。应该是把合成后的二进制全部显示了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:33:01 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 22:19
啊,不能吗?我是看视频学的,他那个视频里有一个rar文件和jpg文件,他就可以啊

你看的是木马相关吧
可以把任何文件和jpg合并在一起,然后骗服务器
这是一个图片,后台接收后再把自己的文件分离出来,就可以搞事情了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:33:56 | 显示全部楼层    本楼为最佳答案   
爱上pc的Qt 发表于 2022-2-22 22:18
修改后缀名不能操作吗?

一个文件是什么类型是在前面N个字节标记。
相应的软件只在文件中读取它需要的内容,后面不需要的自然不会被读取。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:35:32 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 22:30
我都试过了,总结就是不管怎么样,第二个合并的文件是打不开的。
除了第二个是txt文本,他显示的是乱码 ...

我回了贴,被审核了,大概有关键字吧
waiting................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:35:42 | 显示全部楼层
ba21 发表于 2022-2-22 22:01
2种类型的文件,2进制合并后,
请问你要怎么打开后一个文件的内容???

这个确实是打不开的,我也是看视频照着练练。可是视频那种图片文件修改一下后缀名之后,就可以变成一个rar文件,这是怎么做到的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:40:08 | 显示全部楼层
wp231957 发表于 2022-2-22 22:35
我回了贴,被审核了,大概有关键字吧
waiting................

被审核了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:42:08 | 显示全部楼层
ba21 发表于 2022-2-22 22:33
一个文件是什么类型是在前面N个字节标记。
相应的软件只在文件中读取它需要的内容,后面不需要的自然不 ...

那就是说如果我第一个文件是.jpg,第二个文件是.rar,
那我把后缀改成.rar他就扫描不到那N个字节标记吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:43:50 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 22:40
被审核了

我不知道你看的是啥视频,但是合成技术就是做?坏?事?用的,可以把任何程序或文档拼接在jpg的后面,伪?装?成图片来骗?取?信任
然后获取后再把有用的文档分离出来,就可以..........你懂得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-22 22:47:53 | 显示全部楼层
wp231957 发表于 2022-2-22 22:43
我不知道你看的是啥视频,但是合成技术就是做?坏?事?用的,可以把任何程序或文档拼接在jpg的后面,伪 ...

哈哈哈哈哈我是个好人,就是看的小甲鱼的视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-22 22:50:33 From FishC Mobile | 显示全部楼层
爱上pc的Qt 发表于 2022-2-22 22:47
哈哈哈哈哈我是个好人,就是看的小甲鱼的视频

只是为了某种目的而拼接文件,不要幻想着去打开拼接后的文件
要是两个jpg能直接拼接成一个大的图片,还要ps软件干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-2-23 12:42:28 From FishC Mobile | 显示全部楼层
不是所有类型文件合成后都能通过改后缀的方式打开的,我写了个类似功能的程序,给被合成的文件建一个记录表,分解的时候根据记录表分解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-23 13:46:41 From FishC Mobile | 显示全部楼层
hrpzcf 发表于 2022-2-23 12:42
不是所有类型文件合成后都能通过改后缀的方式打开的,我写了个类似功能的程序,给被合成的文件建一个记录表 ...

好的,我又看了一下资料,网上也搜了一下。视频介绍的是内涵图,就只有图片和压缩包文件合并的操作。然后昨天我用的解压软件不是winrar,就导致我上述的问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 11:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表