问答题 给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构!1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 void WriteText(FILE *);5 void ReadText(FTLE *);6 main()7 { FILE *fp;8 if((fp=fopen(''myfile4.txt'',''w''))==NULL)9 {printf(''open fail!!\n'');exit(0);}10 WriteText(fp);11 fclose(fp);12 if((fp=fopen(''myfile4.txt'',''r''))==NULL)13 {printf(''open fail!!\n'');exit(0);}14 ReadText(fp);15 fclose(fp);16 }17 /**********found**********/18 void WriteText(FTLE __1__ )19 { char str[81];20 printf(''\nEnter string with-1 to end:\n'');21 gets(sir);22 while(strcmp(str,''-1'')!=0){23 /**********found**********/24 fputs(__2__,fw);fputs(''\n'',fw);25 gets(str);26 }27 }28 void ReadText(FILE *fr)29 { char str[81];30 printf(''\nRead file and output to screen:\n'');31 fgets(str,81,fr);32 while(!feof(fr)) {33 /**********found**********/34 printf(''%s'',__3__);35 fgets(str,81,fr);36 }37 }
【正确答案】正确答案:(1)*fw (2)str (3)str
【答案解析】解析:第一空:此处是补充函数参数名,参数类型已知是FILE文件指针,“fputs(''\n'',fw)”是将字符“\n”写入文件,可知fw是文件指针名,因此第一空处应该是“void Write Text(FILE *fw)”。 第二空:“while(strcmp(str,”-1”)!=0)”循环的结束标志是str字符串等于“-1”时循环退出,如果str不等于“-1”,执行循环体内容:用fputs函数将str字符串写入文件。fputs函数的调用形式是:“fputs(s,fp)”,其中s是指向字符串的指针或字符串数组名,fp是指向将要被写入的文件的文件指针,因此第二处应该是“fputs(str,fw)”。 第三空:“while(!feof(fr))”循环的作用是不断读取文件直到到达文件尾,每次最多读81个,将读到的数据放在str字符串里,并用printf输出到屏幕,因此第三处应该是“printf(''%s'',str)”。