yasuo.txt

来自「RLE压缩」· 文本 代码 · 共 42 行

TXT
42
字号
#include "stdlib.h"
#include "stdio.h"
main()
{
 union
 {
 int s;
 char c[2];
 } counts;
 int count;/*计数器*/
 char ch;
 char ch1;/*字符寄存器*/
 FILE *fp,*fp1;
 char strs [13];
 printf("请输入数据源文件名:");
 scanf("%s",strs);
 fp=fopen(strs,"r+b");
 printf("请输入压缩数据文件名:");
 scanf("%s",strs);
 fp1=fopen(strs,"w+b");
 ch=fgetc(fp);
 ch1=ch;
 count=1;
 while(!feof(fp))
{
 ch=fgetc(fp);/*从数据文件中读取字符*/
 if(ch1=ch)/*如果读的字符与寄存器中的字符相等,计数器加1*/
    count++;
 else
   {
    counts.s=count;/*如果读的字符与寄存器中的字符不相等*/
	fputc(ch1,fp1);
    fputc(counts.c[0],fp1);/*把计数器中的数字写入压缩文件*/
    fputc(counts.c[1],fp1);
    ch1=ch;
    count=1;
    }
 }
   fclose(fp);
   
}

⌨️ 快捷键说明

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