作业帮 > 综合 > 作业

用C语言设计一个程序以便能快速地实现复制任意长度的文件

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/10 23:44:29
用C语言设计一个程序以便能快速地实现复制任意长度的文件
#include
#include
int main()
{
FILE *fp;
size_t filesize;
char filer[]="1.txt";//要拷贝的文件名称(自行定义)
char filew[]="2.txt";//写入文件
char *p;
fp=fopen(filer,"rb");//使用二进制打开
if(fp==NULL)
{
printf("open %s error\n",filer);
return 1;
}
fseek(fp,0L,2);
filesize = ftell(fp); //获取文件大小
p=(char*)malloc(filesize*sizeof(char));
if(p==NULL)
{
printf("malloc error\n");
fclose(fp);
return 1;
}
fseek(fp,0L,0);
if(fread(p,sizeof(char),filesize,fp)!=filesize)//读入缓冲区
{
printf("fread error\n");
fclose(fp);
free(p);
return 1;
}
fclose(fp);
fp=fopen(filew,"wb");//二进制打开写入文件
if(fp==NULL)
{
printf("open %s error\n",filew);
free(p);
return 1;
}
if(fwrite(p,sizeof(char),filesize,fp)!=filesize)//写入
{
printf("fwrite error\n");
fclose(fp);
free(p);
return 1;
}
fclose(fp);
free(p);
printf("copy ok!\n");
return 0;
}