问答题 给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #include void WriteText(FILE *); void ReadText(FILE *); main() { FILE *fp; if((fp=fopen("myfile4.txt","w"))==NULL) { printf(" open fail!!/n"); exit(0); } WriteText(fp); fclose(fp); if((fp=fopen("myfile4.txt","r"))==NULL) { printf(" open fail!!/n"); exit(0); } ReadText(fp); fclose(fp); } /**********found**********/ void WriteText(FILE ___1___) { char str[81]; printf("/nEnter string with -1 to end :/n"); gets(str); while(strcmp(str,"-1")!=0) { /**********found**********/ fputs(___2___,fw); fputs("/n",fw); gets(str); } } void ReadText(FILE *fr) { char str[81]; printf("/nRead file and output to screen :/n"); fgets(str,81,fr); while( !feof(fr) ) { /**********found**********/ printf("%s",___3___); fgets(str,81,fr); } }
【正确答案】第一处:要求填写文件流的自变量名,在这个函数中,已有的语句fputs("/n",fw);分析可知:由于文件流变量fw在函数体没有定义过,所以本处应填*fw或fw[]。 第二处:通过while循环语句,把键盘上输入的内容,要写入到指定的文件中,键盘上输入的内容已存入字符串str变量中,因此,本处应填写str。 第三处:要把已存入文件中的内容,再从文件中读出且已存入字符串变量str中,最后在屏幕显示出来,因此,此处应填写str。
【答案解析】