kai759630 发表于 2017-2-28 16:47:51

看了鱼哥的图片文件合成器视频,请教个问题。

本帖最后由 kai759630 于 2017-2-28 18:23 编辑

想要将图片和txt文本合成位jpg,然后读取的文本内还是有图片的二进制码,该怎么解决。
代码如下
#include<stdio.h>
voidmain ()
{
        FILE *P,*Q,*O;\\分别文图片,文件,合成后文件指针。
        char filename,filename1,filename2,ch;\\分别为图片,文件,合成文件名。
        printf("请将程序放入所要合成的文件夹内,否则请输入文件地址!\n");
A:        printf("请输入要合成的图片名(带拓展名):\n");
        scanf("%s",filename);
        P=fopen(filename,"rb");
        if(!P)
        {
                printf("can not open the picture%s!\n",filename);
                goto A;
        }
B:        printf("请输入你要输入的文件名(带拓展名):\n");
        scanf("%s",filename1);
        Q=fopen(filename1,"rb");
        if(!Q)
        {
                printf("can not open the file%s!\n",filename1);
                goto B;
        }
        printf("请输入合成后文件名:\n");
        scanf("%s",filename2);
        O=fopen(filename2,"wb");
       
        while(!(feof(P)))
        {
                ch=fgetc(P);
                fputc(ch,O);
        }
        fclose(P);
        while(!(feof(Q)))
        {
                ch=fgetc(Q);
                fputc(ch,O);
        }
       
        fclose(Q);
        fclose(O);
        printf("合成成功\n");
}

kai759630 发表于 2017-2-28 18:24:49

我的意思是合成出来的文件当改成txt的时候,他会包含图片本身所带的数据而不是只有txt文档的内容,该怎么解决这个问题呢?

赛大爷 发表于 2017-2-28 20:18:54

66666

zealstar 发表于 2017-2-28 22:43:35

甲鱼的文件合成是合成两个二进制文件!

你这里合成的是一个二进制文件和一个文本文件!

当 使用文本查看器(无论是UE还是记事本),都会查看文件内的所有内容!所以你说的这个问题没有办法解决,本来就是拼接而成的!{:10_247:}合成后的文件本身就包含了2个内容!如果想要只查看其中一种内容的话,就不是那么简单的问题了。

kai759630 发表于 2017-3-1 10:55:48

zealstar 发表于 2017-2-28 22:43
甲鱼的文件合成是合成两个二进制文件!

你这里合成的是一个二进制文件和一个文本文件!


原来是这样啊,我知道了 谢谢你
页: [1]
查看完整版本: 看了鱼哥的图片文件合成器视频,请教个问题。