问题 填空题

给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在行线上填入所编写的若干表达式或语句。

[试题源程序]

#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);

3()

答案

参考答案:str

解析:

本题要求是把键盘上输入的内容写到指定的文件中。程序中共有三处要填上适当的内容,使程序能运行出正确的结果。

填空1:要求填写文件流的自变量名,在这个函数中,已有的语句fputs("\n",fw);分析可知:由于文件流变量fw在函数体没有定义过,所以本处应填*fw或fw[]。

填空2:通过while循环语句,把键盘上输入的内容,要写入到指定的文件中,键盘上输入的内容已存入字符串str变量中,因此,本处应填写str。

填空3:要把已存入文件中的内容,再从文件中读出且已存入字符串变量str中,最后在屏幕显示出来,因此,此处应填写str。

填空题
单项选择题