一步步记录自己的成长,在DVE-C++下编译通过 #include <stdio.h> #include <stdlib.h> #define getchar() getc(stdin) #define putchar(c) putc((c),stdout) //cat函数:连接多个文件 v2.0 int main(int argc, char *argv[]) { FILE *fp; void filecopy(FILE *,FILE *); char *prog=argv[0]; if(argc==1) filecopy(stdin,stdout); else while(--argc>0) if((fp=fopen(*++argv,"r"))==NULL){ fprintf(stderr,"%s:cant open %s/n",prog,*argv); }else{ filecopy(fp,stdout); fclose(fp); } if(ferror(stdout)){ fprintf(stderr,"%s:error writing stdout/n",prog); exit(2); } exit(0); system("PAUSE"); return 0; } void filecopy(FILE *ifp,FILE *ofp) { int c; while((c=getc(ifp))!=EOF) putc(c,ofp); }