|
在WINDOWS下拷碟的时候由于各种原因导致考到最后的时候会出错,这样已经拷上去的东西好象就不见了,LINUX下也是一样吧,我就用C语言编了一个程序.
#define max 5000
FILE *in,*out;int i,j;char buf[max+1],name[31];
int main()
{
printf("请输入要复制的文件的绝对路径:\n");
scanf("%s",name);
if((in=fopen(name,"rb"))==0)
{printf("%c无法找到文件!\n",7);getch();return 0;}
printf("请输入文件的目的地并给文件命名(注意:如果目的地有同名文件则会被覆盖!):\n");
scanf("%s",name);
out=fopen(name,"wb");
printf("请稍候...");
while(!feof(in))
{i=0;
while(!feof(in)&&i<max)buf[i++]=fgetc(in);
for(j=0;j<i;j++)fputc(buf[j],out);
}
fclose(in);fclose(out);
printf("\n%c文件复制完成!",7);
getch();
}
在DEV CPP上编译通过了,在WINDOWS下拷碟就非常好用.
但是到了LINUX下面,稍微修改了一下代码,用GCC也编译通过了.但在拷碟的时候,非常的慢,简直就是蜗牛爬.我已经用buf变量来缓冲了啊? |
|