rle.cpp

来自「数据压缩游程编码示例,模拟游程编码过程,可以做课程设计使用.」· C++ 代码 · 共 29 行

CPP
29
字号
#include<stdio.h>
#include<string.h>
#define MX_BUF	1000

FILE	*fp;
int	main()
{
	char buff[MX_BUF];
	char c=0,c0=-1;
	int i=0,j=0;
	fp=fopen("data.in","rb");
	if(!fp){puts("Open File Error !"); return 0;}
	while(!feof(fp)){
		c=fgetc(fp);	printf("%d ",c);
		if(c0==-1)c0=c; 
		if(c==c0 && j<128)j++;
		else {
			buff[i++]=j; j=1;
			buff[i++]=c0;
		}//
		c0=c;
	}//while fp
	fclose(fp);
	fp=fopen("data.out","wb");
	if(!fp){puts("Out File Error !"); return 0;}
	fwrite(buff,sizeof(char),i,fp);
	fclose(fp);
	return 0;
}

⌨️ 快捷键说明

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