我的图象复制,为何下面这个程序实现不了..新手
#include "stdio.h "
#include <file.h>
main()
{
long filelength1 = 0;
FILE*fp1,*fp2;
int i;
unsigned char *buf;/*定义一个文件指针*/
fp1 = fopen( "c:\\test.bmp ", "rt+ ") ;//打开源文件
fp2 =fopen( "c:\\testcopy2.bmp ", "wt+ ");//创建目标文件
if(fp1 == NULL)
{
puts( "open file txt error! ");
exit(1) ;
}
fseek(fp1,0,SEEK_END);
filelength1 = ftell(fp1); //返回源文件大小
buf=(unsigned char *)malloc(filelength1);//创建内存
fseek(fp1,0,SEEK_SET);
// 应该是以下这两步,麻烦你帮我讲解下这里为何不行
fread(buf,1,filelength1,fp1);//读入内存
fwrite(buf,1,filelength1,fp2);//写入目标文件
/////////////////////////////////////////////
free(buf);//释放内存
fclose(fp1); //关闭打开的文件
fclose(fp2);
exit(1);
}
请问以上程序为何无法实现图象的复制?思路错在哪里?跟图象格式有关系吗?新手,望见谅,谢谢你抽时间
[解决办法]
lz把文件打开方式用rb+、wb+试一试
[解决办法]
使用rb+,wb+可以的...4256*2848成功