| Gzu521.com我的学习网 |
|
[例10.3]把命令行参数中的前一个文件名标识的文件, 复制到后一个文件名标识的文件中, 如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。 #include main(int argc,char *argv[]) { file *fp1,*fp2; char ch; if(argc==1) { printf("have not enter file name strike any key exit"); getch(); exit(0); } if((fp1=fopen(argv[1],"rt"))==null) { printf("cannot open %s\n",argv[1]); getch(); exit(1); } if(argc==2) fp2=stdout; else if((fp2=fopen(argv[2],"wt+"))==null) { printf("cannot open %s\n",argv[1]); getch(); exit(1); } while((ch=fgetc(fp1))!=eof) fputc(ch,fp2); fclose(fp1); fclose(fp2); } 来源来源:www.examda.com :www.examda.com 本程序为带参的main函数。程序中定义了两个文件指针 fp1 和fp2,分别指向命令行参数中给出的文件。如命令行参数中没有给出文件名,则给出提示信息。程序第18行表示如果只给出一个文件名,则使fp2指向标准输出文件(即显示器)。程序第25行至28行用循环语句逐个读出文件1中的字符再送到文件2中。再次运行时,给出了一个文件名(由例10.2所建立的文件), 故输出给标准输出文件 |
责任编辑:gzu521