游程编码.txt

来自「图形图像处理中常用的编码」· 文本 代码 · 共 78 行

TXT
78
字号
RLE 编码程序

#include <stdio.h>
#include <stdlib.h>
FILE *inputFile;
FILE *outputFile;

main(int argc,char *argv[])
{
  int j;
  char word,word_count;
  
  inputFile=fopen(argv[1],"rb");
  outputFile=fopen(argv[2],"w");

  if(argc!=3)
  {
    fprintf(stdout,"usage:rle inputfile outputfile\n");
    exit(EXIT_SUCCESS);
  }
  
  if((inputFile==NULL)||(outputFile==NULL))
  { 
   fprintf(stdout,"INVALID FILE SPECIFIED\n");
    exit(EXIT_SUCCESS);
  }

  while(fread(&word,1,1,inputFile)==1)
  {
   fread(&word_count,1,1,inputFile);
   for(j=0;j<word_count;j++)
    fprintf(outputFile,"%c",word);
  }
  fclose(inputFile);
  fclose(outputFile);  
  return 0;
}


RLE解码程序

#include <stdio.h>
#include <stdlib.h>

FILE *inputFile;
FILE *outputFile;

main(int argc,char *argv[])
{
  int j;
  char word,word_count;
  
  inputFile=fopen(argv[1],"rb");
  outputFile=fopen(argv[2],"w");

  if(argc!=3)
  {
    fprintf(stdout,"usage:rle inputfile outputfile\n");
    exit(EXIT_SUCCESS);
  }
  
  if((inputFile==NULL)||(outputFile==NULL))
  { 
   fprintf(stdout,"INVALID FILE SPECIFIED\n");
    exit(EXIT_SUCCESS);
  }

  while(fread(&word,1,1,inputFile)==1)
  {
   fread(&word_count,1,1,inputFile);
   for(j=0;j<word_count;j++)
    fprintf(outputFile,"%c",word);
  }
  fclose(inputFile);
  fclose(outputFile);  
  return 0;
}

⌨️ 快捷键说明

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