list 1-5.c

来自「壓縮演算法-基本的資料壓縮演算法-Run-Length編碼的解壓縮程式~對應li」· C语言 代码 · 共 42 行

C
42
字号
#include<stdio.h>
int decode(FILE *fp);
/* main敓澤 */
int main(int ac,char *av[])
{
  FILE *fp;
  if ((fp = fopen(av[1],"rb"))==NULL)
    return(6);
  decode(fp);
  fclose(fp);
  return(0);
}

/* 夝氊弅檤棟庡掱幃 */
int decode(FILE *fp)
{
  int i;
  int c1;
  int run,code;
  while (!feof(fp)) 
  {
    c1=fgetc(fp);
    if (c1==EOF) 
      break;
    if (c1==0xff) 
    {        /* run挿搙帪 */
      run=fgetc(fp);
      if (run==EOF) 
        break;
      code=fgetc(fp);
      if (code==EOF) 
        break;
      for (i=0;i<run;i++) 
        fputc(code,stdout);
    }
    else
      fputc(c1,stdout);
  }
  return(0);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?