用C语言设计一个程序以便能快速地实现复制任意长度的文件
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/23 06:28:37
用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;
}
#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;
}
用C语言设计一个程序以便能快速地实现复制任意长度的文件
用C语言设计程序实现多项式相乘的问题,
设计一个C语言的程序能实现输入两个正整数m,n能求出其最大公约数和最小公倍数
用C语言设计一个程序,
请设计一个C语言程序,能实现这个功能:输入10个单词,按字典序输出各单词
编写一个C语言程序实现判断任意输入的一个整数是几位数,并求每位的和.
C语言中任意输入一个整数 编一个程序输出整数长度 能不能有解法
用C语言编写程序实现从键盘上任意输入两个整数,输出两个整数的乘积.
C语言设计一个数学类计算的程序
C语言中 设计一个简单的计算器程序
试用C语言设计一个程序,程序的功能是接收任意输入一个算术表达式,判断表达式中的括号是否配对出现.
用C语言数组编写一个程序实现求Fibonacci数列的前n个数.