【电脑】 发表于 2018-8-20 17:07:54

又来求助了

本帖最后由 【电脑】 于 2018-8-20 19:54 编辑

#include<stdlib.h>
#include<stdio.h>
int main()
{
        FILE *pic,*file,*finish;
        char filename,picturename,finishname,ch;

        printf("请输入需要合成的文件和图片名称:\n");
        printf("图片名称:");
        scanf("%s",picturename);
        printf("文件名称:");
        scanf("%s",filename);
        printf("生成为:");
        scanf("%s",finishname);

        if(!(pic=fopen(picturename,"rb")))
        {
                printf("can not open picture %s !",picturename);
                return;
        }
        if(!(file=fopen(filename,"rb")))
        {
                printf("can not open file %s !",filename);
                return;

        }
        if(!(finish=fopen(finish,"wb")))
        {
                printf("can not open finish %s !",finishname);
                return;
        }

        while(!(feof(pic)))
        {
                ch=fgetc(pic);
                fputc(ch,finish);
        }
        fclose(pic);

        while(!(feof(file)))
        {
                   ch=fgetc(file);
                fputc(ch,finish);
        }
        fclose(file);
        fclose(finish);

        printf("\n");
        return 0;
        system("pause");
}

无符号整形 发表于 2018-8-20 17:10:58

错误?

【电脑】 发表于 2018-8-20 17:18:03

此程序目的为将一个已有的图片(1.jpg)和一个已有的文件 ( 2.rar ) 的二进制相加变成一个图片 (3.jpg),在将 3.jpg 的后缀名改为为 rar 时,可以使 2.rar 显示出来,我在程序的目录下建了一个2.rar(里面有一张和 1.jpg 不一样的照片)和复制了一张图片1.jpg,然后我运行程序输入 1.jpg 和 2.rar, 3.jpg ,结果程序停止工作,在目录下也见不到 3.jpg

【电脑】 发表于 2018-8-20 17:22:13

无符号整形 发表于 2018-8-20 17:10
错误?

没有报错,但得不到结果,我在下面写了具体情况{:5_93:}

无符号整形 发表于 2018-8-20 19:21:20

(finish=fopen(finish,"wb")
你这是干嘛??

【电脑】 发表于 2018-8-20 19:34:24

无符号整形 发表于 2018-8-20 19:21
你这是干嘛??

此程序目的为将一个已有的图片(1.jpg)和一个已有的文件 ( 2.rar ) 的二进制相加变成一个图片 (3.jpg),在将 3.jpg 的后缀名改为为 rar 时,可以使 2.rar 显示出来,我在程序的目录下建了一个2.rar(里面有一张和 1.jpg 不一样的照片)和复制了一张图片1.jpg,然后我运行程序输入 1.jpg 和 2.rar, 3.jpg ,结果程序停止工作,在目录下也见不到 3.jpg

无符号整形 发表于 2018-8-20 19:35:35

【电脑】 发表于 2018-8-20 19:34
此程序目的为将一个已有的图片(1.jpg)和一个已有的文件 ( 2.rar ) 的二进制相加变成一个图片 (3.jpg), ...

……
(finish=fopen(finish,"wb")
你做这个干什么

流殇 发表于 2018-8-20 19:36:03

这个我试了一下,没有语法错误,可能是出现了逻辑问题

【电脑】 发表于 2018-8-20 19:39:11

无符号整形 发表于 2018-8-20 19:35
……

你做这个干什么

建立并打开一个二进制文件

无符号整形 发表于 2018-8-20 19:40:00

【电脑】 发表于 2018-8-20 19:39
建立并打开一个二进制文件

finish=fopen(finish,"wb")
看出来没有?

无符号整形 发表于 2018-8-20 19:48:05

【电脑】 发表于 2018-8-20 19:39
建立并打开一个二进制文件

好吧……
你干嘛给fopen传入一个文件对象当做路径啊?

【电脑】 发表于 2018-8-20 19:48:49

无符号整形 发表于 2018-8-20 19:40
看出来没有?

尴尬{:10_277:},应该是finishname,又有新的问题了, can not open 1.rar

无符号整形 发表于 2018-8-20 19:50:15

【电脑】 发表于 2018-8-20 19:48
尴尬,应该是finishname,又有新的问题了, can not open 1.rar

1.rar是第几个输入的?

【电脑】 发表于 2018-8-20 19:53:54

无符号整形 发表于 2018-8-20 19:50
1.rar是第几个输入的?

知道了!谢谢{:5_93:}

无符号整形 发表于 2018-8-20 19:54:15

【电脑】 发表于 2018-8-20 19:53
知道了!谢谢

额??

【电脑】 发表于 2018-8-20 19:59:49

无符号整形 发表于 2018-8-20 19:54
额??

我将图片输入了1.rar{:10_245:}

无符号整形 发表于 2018-8-20 20:00:41

【电脑】 发表于 2018-8-20 19:59
我将图片输入了1.rar

好吧……╮(╯▽╰)╭
页: [1]
查看完整版本: 又来求助了