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

admin2015-09-14  10

问题 给定程序的功能是:从键盘输入若干行文本(每行不超过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("\nbRead 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

解析 本题要求是把一段文本写到文件。myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。主要是文件操作以及fputs和fgets函数的使用。
    [解题思路]
    第一空:此处是补充函数参数名,参数类型已知是FILE文件指针,fputs("\n",fw)是将字符“\n”写入文件,可知fw是文件指针名,因此第一空处应该是void WriteText(FILE*fw)。
    第二空:while(s仃cmp(str,"-1")!=0)循环的结束标志是str字符串等于“-1”时循环退出。如果str不等于“-1”,执行循环体内容:用fputs函数将str字符串写入文件。fputs函数的调用形式是:fputs(s,fp),其中s是指向字符串的指针或字符串数组名,fp是指向将要被写入的文件的文件指针.因此第二处应该是fputs(str,fw)。
    第三空:whiIe(!feof(fr))循环的作用是不断读取文件直到到达文件尾,每次最多读81个,将读到的数据放在str字符串里,并用printf输出到屏幕,因此第三处应该是printf("%s",str)。
转载请注明原文地址:https://kaotiyun.com/show/VtID777K
0

相关试题推荐
最新回复(0)