,fp); fclose(fp); } else { fprintf(stderr,"can't open %s.",*argv); exit(1); } } if(ferror(stdout)){ fprintf(stderr,"%s:error writeing stdout\n",argv[0]); exit(2); } exit(0); } void filecopy(FILE *ifp,FILE *ofp) { int c; while((c=getc(ifp))!=EOF) putc(c,ofp); }
如果fp中出现错误,则函数ferror返回一个非0值。
int ferror(FILE *fp)
尽管输出错误很少出现,但还是存在的。
函数feof(FILE*)与ferror类似。如果指定文件到达文件结尾,它将返回一个非0值。
int foef(FILE *fp);
7.7 行输入和行输出
标准库提供了一个输入函数与输出函数fgets函数与fputs函数
char *fgets(char *line, int