//使用标准I/O #include<stdio.h> #include<stdlib.h> int main(void) { int ch; char fname[20]; long count=0; FILE *fp; puts("请输入文件名:"); gets(fname); fp=stdin; if((fp=fopen(fname,"r"))==NULL) { fprintf(stderr,"Can't open %s /n",fname); exit(1); } else { while((ch=getc(fp))!=EOF) { putc(ch,stdout); count++; } } fclose(fp); printf("File %s has %ld characters/n",fname,count); return 0; } //文件复制程序,从命令行接受参数 #include<stdio.h> #include<stdlib.h> #include<string.h> #define BUFSIZE 1024 int main(int argc,int *argv[]) { int byte; FILE *fs; FILE *fa; if(argc!=3) { printf("Usage: %s filename",argv[0]); } if((fs=fopen(argv[1],"rb"))==NULL) { fprintf(stderr,"Can't open %s",argv[1]); exit(EXIT_FAILURE); } if((fa=fopen(argv[2],"wb"))==NULL) { printf("Could not open file %s for output/n", argv[2]); exit(EXIT_FAILURE); } while((byte=getc(fs))!=EOF) { putc(byte, fa); } if(ferror(fs)!=0) { fprintf(stderr,"Error in reading file %s./n",argv[1]); } if(ferror(fa)!=0) { fprintf(stderr,"Error in reading file %s./n",argv[2]); } fclose(fs); printf("File %s appended,/n",argv[1]); fclose(fa); return 0; }