|
发表于 2002-10-17 08:54:59
|
显示全部楼层
/*copy infile to outfile*/
#include"stdio.h"
#include"stdlib.h"
main()
{FILE *in,*out;
int i;
char infile[20],outfile[20];
printf("infile name: ");
scanf("%s",infile);
printf("outfile name: ");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL) /*open files. If failed, quit.*/
{printf("Cannot open infile\n.");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{printf("Cannot open outfile.\n");
exit(0);
}
while(1)
{
i=fgetc(in);
if(feof(in)) break;
fputc(i,out);
}
fclose(in); /*close files*/
fclose(out);
} /*the end*/
讨论:
如果按照楼上的程序,在while循环判断时,这一句
fputc(fgetc(in),out);
已经进行了写操作。因此应该把上面的语句分解来解决。
呵呵,有些教科书本来作者就是抄来的代码,又没有亲自实验,于是出现了上面的情况。:-( |
|