为什么总是结果总是找不到文件
//将一个.jpg文件和一个.rar文件合成一张图片.jpg,当把这张图片名字后缀改成.rar时,就会出现之前.rar.里的内容
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *f_pic, *f_file , *f_finish;
char pic_name , file_name , finish_name ;
char ch ;
printf("请输入需要合成的图片和文件的名称:\n");
printf("图片:");
scanf("%s" , pic_name);
printf("文件:");
scanf("%s" , file_name);
printf("生成为:");
scanf("%s" , finish_name);
if(!(f_pic = fopen(pic_name , "rb")))//二进制读取形式打开
{
printf("can not open the picture %s\n" , pic_name);
return ;
}
if(!(f_file = fopen(file_name , "rb")))//二进制读取形式打开
{
printf("can not open the file %s\n" , file_name);
return ;
}
if(!(f_finish = fopen(finish_name , "wb")))//二进制形式写入
{
printf("can not open the file %s\n" , finish_name);
return ;
}
//feof测试是不是文件的结尾
while( !(feof(f_pic)))
{
ch = fgetc(f_pic) ;
fputc(ch , f_finish) ;
}
fclose(f_pic);
while( !(feof(f_file)))
{
ch = fgetc(f_file) ;
fputc(ch , f_finish) ;
}
fclose(f_file);
fclose(f_finish);
system("pause");
}//自动对齐===ctrl A+ Alt F8
if(!(f_finish = fopen(finish_name , "wb+")))//二进制形式写入
╭(╯3╰)╮ 学习了!,,,,, sidfate 发表于 2014-4-26 08:23 static/image/common/back.gif
if(!(f_finish = fopen(finish_name , "wb+")))//二进制形式写入
╭(╯3╰)╮
我怎么试了一下还是不行。结果跟原来一样 下面是我的源代码,我没看出来有什么不同喂,我的成功了#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp1,*fp2,*fp3;
char ch,filename_1,filename_2,filename_3;
printf("选择的文件名: ");
scanf("%s",filename_1);
printf("选择的图片名: ");
scanf("%s",filename_2);
printf("结合的图片名: ");
scanf("%s",filename_3);
if(!(fp1=fopen(filename_1,"rb")))
{
printf("Cannot Open the file!\n");
exit(0);
}
if(!(fp2=fopen(filename_2,"rb")))
{
printf("Cannot Open the file!\n");
exit(0);
}
if(!(fp3=fopen(filename_3,"wb+")))
{
printf("Cannot Open the file!\n");
exit(0);
}
while(!feof(fp2))
{
ch=fgetc(fp2);
fputc(ch,fp3);
}
fclose(fp2);
while(!feof(fp1))
{
ch=fgetc(fp1);
fputc(ch,fp3);
}
fclose(fp1);
fclose(fp3);
printf("成功合成!\n\n");
system("pause");
} qq小小七 发表于 2014-4-26 11:52 static/image/common/back.gif
我怎么试了一下还是不行。结果跟原来一样
枫界易城 发表于 2014-4-26 14:11 static/image/common/back.gif
楼主不会是图片和rar的压缩包没放在那个程序的目录下吧! 枫界易城 发表于 2014-4-26 14:13 static/image/common/back.gif
楼主不会是图片和rar的压缩包没放在那个程序的目录下吧!
图片和rar压缩包跟源程序放在一个文件夹了啊 sidfate 发表于 2014-4-26 13:21 static/image/common/back.gif
下面是我的源代码,我没看出来有什么不同喂,我的成功了
亲 ,我试了一下,应该是放的文件的位置的问题,我是把它们放在一个文件夹了,应该怎么放呢? qq小小七 发表于 2014-4-26 14:58 static/image/common/back.gif
亲 ,我试了一下,应该是放的文件的位置的问题,我是把它们放在一个文件夹了,应该怎么放呢?
程序应该没问题,你要注意一下文件名和输入的名字一致,还有合成的顺序问题 sidfate 发表于 2014-4-26 20:35 static/image/common/back.gif
程序应该没问题,你要注意一下文件名和输入的名字一致,还有合成的顺序问题
我试了好多遍都不行,也找不到错误,文件名一定没错的,我还不能笨到几十遍都写错名字吧,依您的高见可能是什么问题呢 qq小小七 发表于 2014-4-26 23:37 static/image/common/back.gif
我试了好多遍都不行,也找不到错误,文件名一定没错的,我还不能笨到几十遍都写错名字吧,依您的高见可能 ...
根据你的问题,
1. 指定盘符的路径, 比如“D:\\a.txt”,盘符名最好是大写
2. 在程序中指定盘符路径, 用strcpy()函数。
3. 楼上说的二进制文件格式。(楼上这么积极,你都不加两分呀?)
如有不好之处,多谢指出! 飞驰吧!少年 发表于 2014-4-27 17:50 static/image/common/back.gif
根据你的问题,
1. 指定盘符的路径, 比如“D:\\a.txt”,盘符名最好是大写
2. 在程序中指定盘符路径, ...
我刚来,还不知道怎么加分。。。。我看看哈 sidfate 发表于 2014-4-26 20:35 static/image/common/back.gif
程序应该没问题,你要注意一下文件名和输入的名字一致,还有合成的顺序问题
肿么给你加分呀? qq小小七 发表于 2014-4-27 18:14 static/image/common/back.gif
肿么给你加分呀?
这个无所谓= =
你问题倒是解决没? sidfate 发表于 2014-4-27 18:35 static/image/common/back.gif
这个无所谓= =
你问题倒是解决没?
木有。。我试了好多遍了 怎么都不行呢 qq小小七 发表于 2014-4-27 18:37 static/image/common/back.gif
木有。。我试了好多遍了 怎么都不行呢
用我的代码再试一遍。在代码的文件中弄一张图片和一个压缩文件。
具体如图:
sidfate 发表于 2014-4-27 18:45 static/image/common/back.gif
用我的代码再试一遍。在代码的文件中弄一张图片和一个压缩文件。
具体如图:
肿么办呀,我的这个程序怎么总成功不了啊,我快吐血了,呜呜~~~~(>_<)~~~~
页:
[1]