阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序的功能是将多个文件的内容同时输出在屏幕上,文件名都作为参数传入,命令执行为:cat file1 file2 file3,即同时输出file1、file2、file3的内

admin2009-02-15  39

问题 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
[说明]
   下面程序的功能是将多个文件的内容同时输出在屏幕上,文件名都作为参数传入,命令执行为:cat file1 file2 file3,即同时输出file1、file2、file3的内容。
[程序]
#include <stdio.h>
#include <stdlib.h>
void fileeopy(FILE * ifp, FILE *ofp)
{  int c;
  while((c=getc((1)))!=EOF) pute(c,(2)); }
int main(int arge, char *argv[])
{  FILE *fp;
   while((3)>0)
        if((fp=fopen((4),"r"))= =NULL){
            printf("Can’t open file\n");
            return 1;
        }
        else {
             filecopy(fp, stdout);
             fclose((5));
        }
  return 0;
}

选项

答案(1) ifp (2) ofp (3) - -argc (4) * ++argv (5) fp

解析 (1)~(2):此处while循环用于复制两个文件中的信息,即从ifp中读取,向ofp中写入;
(3)此处对多个参数(文件名)进行循环,其中argc代表参数的个数,并且计数时包括了最前面的可执行文件名,以cat filel file2 file3为例,argc=4。因此应该填入- -argc才符合循环的判断条件;
(4)此处用于获取文件名并将其打开。字符串数组 argv保存了全体参数的值,以cat filel file2 file3为例, argv[0]=cat,argv[1]=file1…,于是应排除argv[0],即填入* ++argv才能正确获取文件名;
(5)在对文件操作完毕后应对文件句柄做关闭的动作,此处即调用fclose函数来关闭已经打开的文件句柄fp。
转载请注明原文地址:https://kaotiyun.com/show/bEjZ777K
0

随机试题
最新回复(0)