填空题

下列给定程序的功能是: 从键盘输入若干行字符串 (每行不超过 80 个字符), 写入文件myfile4.txt 中, 用-1 作字符串输入结束的标志, 然后将文件的内容显示在屏幕上。 文件的读写分别由函数 ReadText 和 writeText 实现。
请在程序的下划线处填入正确的内容并将下划线删除, 使程序得出正确的结果。
注意: 部分源程序在文件 BLANK1.C 中。
不得增行或删行, 也不得更改程序的结构!
#include<stdio.h>
#include<string.h>
#nclude <stdli[B].h>
void WriteText(FILE *);
void ReadText(FILE *);
main( )
{ FILE * fp;
if((fp=fopen(”myiile4.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 (________))
{ char str[81];
printf("\nEnter string with-1 to end :\n");
gets(str);
while(strcmp(str,"-1")!=0){
/* * * * * * * * * *found* * * * * * * * * */
fputs((________), 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", (________));
fgets(str,81,fr);
}
}

【正确答案】

(1)*fw
(2)str
(3)str

【答案解析】

本题考查: 函数定义以及文件指针; fputs 函数的功能是向指定的文件写入一个字符串, 其调用形式为: fputs(字符串, 文件指针)。
填空 1: 定义函数, 函数的形参是一个文件类型的指针。
填空 2: 此处考查 fputs 函数的形式, 应填入 str。
填空 3: 依据 printf 函数的格式, 输出字符串内容, 即 printf("%s",str);。