导航:首页 > 文件处理 > c字节压缩

c字节压缩

发布时间:2022-07-30 05:34:33

Ⅰ c语言的字符串压缩算法问题

把ToString前面的int给去了,再确认下ToString这个函数是不是定义了(我好像没看见这东西定义了)

Ⅱ c语言编程:字符串压缩

话说B数组不应该是整形呀,不然不能保存字母了。以下是我的代码。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

b[p++]=a[i];

count=1;

}

elseif(count==2)

{

b[p++]=a[i];

b[p++]=a[i];

count=1;

}

else

b[p++]=a[i];

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

Ⅲ C语言压缩

#include <cstdio>
#include <string.h>
int main()
{
int i,n=0;
char a[105],t='0';
scanf("%s",a);
for(i=0;i<strlen(a);i++)
{
if(a[i]==t)
n++;
else
{
printf("%d ",n);
n=1;
if(t=='0')
t='1';
else
t='0';
}
if(i==strlen(a)-1)
printf("%d",n);
}
return 0;
}

Ⅳ 用C语言如何对文件进行压缩

winrar软件安装后,所在的安装目录下有个rar.exe,开一个命令窗口到该目录下运行rar
/?就能看到用法了,在你的程序里面调用它的相应命令行是最简单的方法,自己编写压缩算法的话,先不谈效率,起码算法就是相当复杂的了

Ⅳ c语言 文本文件压缩

再发次,有80分呢哎



Ⅵ c语言高手进 压缩与解压程序

你可以把AAA替换为A3
char* compress(char str[])
{
char c,*s;
int i,j,k,n;
n=strlen(str);
s=(char*)malloc((n+1)*sizeof(char));
for(i=0;i<=n;i++)
s[i]='\0';
for(i=0;i<n;i++)
{
c=str[i];
for(j=i+1;c==str[j];j++);
s[k++]=c;
if(j-i>1)
s[k++]='0'+j-i;
i=j;
}
return s;
}
char* decompress(char str[])
{
char c,*s,s1[100]='\0';
int i,j,k,n;
n=strlen(str);
s=s1;
for(i=0;i<n;i++)
{
c=str[i];
if(str[i+1]>='2'&&str[i+1]<='9')
{k=str[i+1]-'0';i+=2;}
for(j=0;j<k;j++,s++)*s=c;
i++;
}
s=s1;
return s;
}

上面的代码适用范围有限,文件最好只含有字母,连续重复不能超过9次,请根据需要修改

Ⅶ 如何用C语言实现数据压缩

首先选择一个压缩算法

然后按照算法实现压缩代码,调用接口就可以
常见的 可以使用哈夫曼编码压缩,或者使用开源的压缩代码,比如lzo, gzip, lzma等等。

Ⅷ c语言字符串如何压缩

话说B数组不应该是整形呀,不然不能保存字母了。以下是我的代码。。。

#include<iostream>

#include<string.h>

#include<stdio.h>

usingnamespacestd;


voidyasuo(chara[],charb[])

{

intcount=1,p=0;

for(inti=0;i<strlen(a);i++)

if(a[i]==a[i+1])

count++;

elseif(count>2)

{

b[p++]=(char)(count+'0');

b[p++]=a[i];

count=1;

}

elseif(count==2)

{

b[p++]=a[i];

b[p++]=a[i];

count=1;

}

else

b[p++]=a[i];

}

voidprintB(charb[])

{

cout<<b<<endl;

}

voidbackB(charb[])

{

for(inti=0;i<strlen(b);i++)

if(b[i]<='9'&&b[i]>='3')

{

for(intj=0;j<(int)(b[i]-'0');j++)

cout<<b[i+1];

i++;

}

else

cout<<b[i];

cout<<endl;

}

intmain()

{

chara[1000]={0},b[1000]={0};

gets(a);

yasuo(a,b);

printB(b);

backB(b);

}

Ⅸ 用C语言指针实现字符串压缩

#include<stdio.h>
#define MAX_NUM 32int main()
{ char *p,str[60];
int i,j=0;
static int num[26];
p=(char*)malloc(MAX_NUM*sizeof(char));
gets(str);
for(i=0;str[i];i++)
{ if(str[i]==' ') p[j++]=str[i];
else {
if(num[str[i]-97]==0||num[str[i]-97]==2||num[str[i]-97]==5)
{ p[j++]=str[i]; num[str[i]-97]++;}
else num[str[i]-97]++;
} }
for(i=0;i<j;i++)
putchar(p[i]);
getch();
return 0;
}注:输入的为小写字母,而且句子长度不超过60个字符,保存字数不超过32个。。。。。在win_tc中通过……

阅读全文

与c字节压缩相关的资料

热点内容
麦当劳点餐app哪个好 浏览:585
手机网站图片压缩 浏览:172
前端程序员干嘛 浏览:564
女权主义pdf 浏览:458
阿里云服务器低价续费 浏览:337
python监控日志脚本 浏览:134
云服务器实例是什么意思 浏览:710
小寻app是做什么的 浏览:649
c语言中编译和运行 浏览:1000
画流图找循环编译原理 浏览:158
oppo手机西瓜视频的文件夹 浏览:867
骑手一般用哪个app 浏览:610
程序员老板用什么手机 浏览:848
比心app头像不通过为什么 浏览:105
加密币市值前十走势 浏览:190
单片机学习推荐课程 浏览:474
对数ln的运算法则图片 浏览:735
仿微博app源码 浏览:781
怎么取消调用app 浏览:545
程序员去哪里求助 浏览:834