又来求助了
本帖最后由 【电脑】 于 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");
} 错误? 此程序目的为将一个已有的图片(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:10
错误?
没有报错,但得不到结果,我在下面写了具体情况{:5_93:} (finish=fopen(finish,"wb")
你这是干嘛?? 无符号整形 发表于 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:34
此程序目的为将一个已有的图片(1.jpg)和一个已有的文件 ( 2.rar ) 的二进制相加变成一个图片 (3.jpg), ...
……
(finish=fopen(finish,"wb")
你做这个干什么 这个我试了一下,没有语法错误,可能是出现了逻辑问题 无符号整形 发表于 2018-8-20 19:35
……
你做这个干什么
建立并打开一个二进制文件 【电脑】 发表于 2018-8-20 19:39
建立并打开一个二进制文件
finish=fopen(finish,"wb")
看出来没有? 【电脑】 发表于 2018-8-20 19:39
建立并打开一个二进制文件
好吧……
你干嘛给fopen传入一个文件对象当做路径啊? 无符号整形 发表于 2018-8-20 19:40
看出来没有?
尴尬{:10_277:},应该是finishname,又有新的问题了, can not open 1.rar 【电脑】 发表于 2018-8-20 19:48
尴尬,应该是finishname,又有新的问题了, can not open 1.rar
1.rar是第几个输入的? 无符号整形 发表于 2018-8-20 19:50
1.rar是第几个输入的?
知道了!谢谢{:5_93:} 【电脑】 发表于 2018-8-20 19:53
知道了!谢谢
额?? 无符号整形 发表于 2018-8-20 19:54
额??
我将图片输入了1.rar{:10_245:} 【电脑】 发表于 2018-8-20 19:59
我将图片输入了1.rar
好吧……╮(╯▽╰)╭
页:
[1]