主观

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

  【说明】

 编写程序,利用带参数的主函数main(),实现二进制文件的复制。比如,若该程序已生成可执行文件filebin.exe,在DOS操作系统命令状态下键入如下命令行:

 filebin f0.fil f1.fil

 则实现将已存在的二进制文件f1.fil依原样复制给名为f0.fil的二进制文件。

 【函数】

 #include<stdio.h>

 void fcopy(FILE *fout, FILE *fin)

 {

   char k;

   do{

    k=fgetc((1));

    if(feof(fin))

     break;

    fputc((2));

    }while(1);

   }

   void main(int argc,char *argv[])

   {

     FILE *fin,*fout;

     if(argc!=(3))

       return;

     if((fin=fopen(argv[2],"rb"))==NULL)

       return;

   fout=(4);

   fcopy((5));

   fclose(fin);

   fclose(fout);

 }

参考答案
您可能感兴趣的试题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

  【说明】

 本题中的函数encode()和decode()分别实现对字符串的变换和复原。其中变换函数encode()顺序考查已知字符串的字符,按以下规则逐组生成新字符串:

 (1)若已知字符串的当前字符不是数字字符,则将该字符复制在新字符串中。

 (2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中。

 (3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字字符的面值为n,则将它的后继字符(包括后继字符是一个数字字符)重复复制n+1次到新字符串中。

 (4)以上述一次变换为一组,在不同组之间另插入一个下划线“_”用于分隔。例如,encode()函数对字符串26a3t2的变换结果为666_a_tttt_2。

 复原函数decode()做与变换函数encode()相反的工作。即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中略过变换函数,为不同组之间添加的一个下划线字符。

 假定调用变换函数encode()时的已知字符串中不含下划线字符。

 【函数】

 int encode(char *instr, char *outstr){

   char *ip, *op, c; int k,n;

   ip=instr; p=outstr;

   while(*ip){

     if(*ip>='0' && *ip<='9' && *(ip+1)){

       n=(1);

       c=(2);

       for(k=0; k<n;k++)

         *op++=c;

     }

     else (3);

     *op++='_';

     ip++;

   }

   if(op>outstr)op--;

    (4);

   return op-outstr;

 }

 int decode(char *instr, char *outstr){

   char *ip, *op, c; int n;

   ip=instr; p=outstr;

   while(*ip){

     c=*ip; n=0;

     while(*ip==c&&n<10){

       ip++; n++;

     }

     if((5))*op++='0'+n-1;

     *op++=c;

     if((6))ip++;

   }

   *op='\0';

   return op-outstr;

 }

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服