图像复制采用文本方式的复制方法,不分文件头和信息头的从头到尾一个一个字节的复制。。
///////////////////程序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);
}