填空题 给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
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);
}
}
【正确答案】
【答案解析】(1)*fw (2)str (3)str [解析] 填空1:定义函数,函数的形参是一个文件类型的指针。
填空2:此处考查fputs函数的形式,应填入str。
填空3:依据printf函数的格式,输出字符串内容,即printf("%s",str);。