我用C编写了一个仿DOS下的COPY命令,但在复制后在新的文件最后总添加了“ij”的字符,这是为什么? 如我复制一个内容为“abcdefg”的文件,在新的文件中的内容为“abcdefgij”。
程序如下:名为cpy.c #include<stdio.h> main(int arv,char *arg[]) {FILE *in,*out; if(arv!=3) {printf("you lost a filename!\n"); exit(0);} if((in=fopen(arg[1],"r"))==NULL) {printf("cannot open the file!!"); exit(0);} out=fopen(arg[2],"w"); while(feof(in)==0) fputc(fgetc(in),out); printf("1 file copyed!"); fclose(in); fclose(out);}
将其编译为exe文件,, 格式如下:c:\>cpy a.txt b.txt