耽美穿越修仙文:C语言实现文件的拷贝,这段程序哪里错了?

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 14:01:15
#include "stdio.h"
#include "stdlib.h"
char buff[32768];
main(int argc,char *argv[])
{
FILE *fp1,*fp2;
unsigned int bytes,bfsz=32768;
unsigned long i=0;
if((fp1=fopen(argv[1],"rb"))==0)
{printf("can't open file %s.",argv[1]);exit(0);}
if((fp2=fopen(argv[2],"rb"))==0)
{printf("can't open file %s.",argv[2]);exit(0);}
while(bfsz)
{
if(fread(buff,bfsz,1,fp1))
{
fwrite(buff,bfsz,1,fp2);
i=i+bfsz;
}
else
{
fseek(fp1,i,0);
bfsz=bfsz/2;
}
}
fclose(fp1);
fclose(fp2);
}

怎么实现不了呢?

第二个文以写入方式打开:fp2=fopen(argv[2],"w"),其它的暂时没看出来。

楼上说的对,而且你的while那里好象问题蛮大的,我自己重新写了一段
while(!frep(fp1))
{
fread(buff,bfsz,1,fp1);
fwrite(buff,bfsz,1,fp2);
}