读书人

小弟我的图象复制,为何下面这个程序实

发布时间: 2012-02-06 15:52:44 作者: rapoo

我的图象复制,为何下面这个程序实现不了..新手


#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成功

读书人网 >C语言

热点推荐