/*案例代码文件名:A1.C*/ /*程序功能:从键盘上输入一个字符串,存储到一个磁盘文件中、并显示输出*/ /*参数:带参主函数,使用格式:<可执行文件名> <要创建的磁盘文件名>*/ #include <stdio.h> main(int argc, char *argv[]) { FILE *fp; /*文件类型名“FILE”,必须大写*/ char string[100]; /*字符数组用于暂存输入输出的字符串*/ if(argc>2) /*参数太多,提示出错*/ { printf("Too many parameters…\n\n"); printf("Usage: <可执行文件名> <filename>\n"); exit(0); } if(argc==1) /*缺磁盘文件名,提示输入*/ {printf("Input the filename: "); gets(string); argv[1]=(char *)malloc(strlen(string)+1);/*给文件名参数申请内存空间*/ strcpy(argv[1],string); /*复制文件名*/ } if ((fp=fopen(argv[1],"w"))==NULL) /*打开文件失败*/ { printf("can not open this file\n"); exit(0); } /*从键盘上输入字符串,并存储到指定文件中*/ printf("Input a string: "); gets(string); /*从键盘上输入字符串*/ fputs(string, fp); /*存储到指定文件*/ fclose(fp); /*重新打开文件,读出其中的字符串,并输出到屏幕上*/ if ((fp=fopen(argv[1],"r"))==NULL) /*打开文件失败*/ { printf("can not open this file\n"); exit(0); } fgets(string, strlen(string)+1, fp); /*从文件中读出一个字符串*/ printf("Output: \n"); for(i=0;i<strlen(string);i++) { if((string[i]!=32)&&(string[i]!=44)&&(string[i]!=59)) printf("%c",string[i]); else printf("\r"); } puts(string);/*将字符串输出到屏幕上*/ fclose(fp); }