我的实现图像简单复制的两个c程序

图像复制采用文本方式的复制方法,不分文件头和信息头的从头到尾一个一个字节的复制。。

///////////////////程序1//////////////////////////////////////////////////

#include "stdio.h"

main()
{

long filelength1 = 0;
FILE*fp1,*fp2;
unsigned char *buf;/*定义一个文件指针*/
fp1 = fopen("c://test.bmp","rb+") ;//打开源文件
fp2 =fopen("c://testcopy2.bmp","wb+");//创建目标文件
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);

}
//////////////////////////////////////////////////////////////////////////////

/////////////////程序2///////////////////////////////////////////////////////

#include "stdio.h"

main()
{

int x ;
long filelength1 = 0;
FILE*fp1,*fp2;
unsigned char *buf;/*定义一个文件指针*/
fp1 = fopen("c://test.bmp","rb+") ;//打开源文件
fp2 =fopen("c://testcpy.bmp","wb+");//创建目标文件
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);

for(x=0; x<filelength1; x++)
fread(buf+x,1,1,fp1);//读入内存
for(x=0; x<filelength1; x++)
fwrite(buf+x,1,1,fp2);///写入目标文件

free(buf);//释放内存
fclose(fp1); //关闭打开的文件
fclose(fp2);
exit(1);

}

你可能感兴趣的:(实现)