天堂岛疑云第六季字幕:C 的简单问题

来源:百度文库 编辑:中科新闻网 时间:2024/05/04 17:54:10
我自己写了一个小的COPY程序 可是每次被输入的哪个文件都会多一个有点象Y上面加两点的字符,特了请教各位。程序如下:
#include <stdio.h>

icopy(FILE *p1,FILE *p2)
{while(!feof(p1))putc(getc(p1),p2);
}

main(argc,argv)
int argc;
char *argv[];
{FILE *fp1,*fp2;

if(argc<3)
{printf("YOU HAVE FORGOTTEN INPUT FILE NAME!");
getch();
exit(0);
}
if(fp1=fopen(argv[1],"r+")==NULL)
{printf("FILE NOT FOUND!");
getch();
exit(0);
}
fp1=fopen(argv[1],"r+");
fp2=fopen(argv[2],"w+");
icopy(fp1,fp2);
fclose(fp1);
fclose(fp2);
printf("FILE COPY SUCCESS!");
getch();
exit(0);

这是feof宏的问题
读出最后一个的时候,并没有改变文件的状态,feof探测不出来

对的,我当时也有这个问题
后来该成自己一个字符一个字符的复制就OK了