c语言数据压缩
winrar软件安装后,所在的安装目录下有个rar.exe,开一个命令窗口到该目录下运行rar
/?就能看到用法了,在你的程序里面调用它的相应命令行是最简单的方法,自己编写压缩算法的话,先不谈效率,起码算法就是相当复杂的了
❷ C语言压缩
#include<stdio.h>
intmain()
{inti,j;
chars[105];
scanf("%s",s);
for(j=0,i=1;s[i];i++)
{while(s[i]==s[i-1])i++;
printf("%d",i-j);
j=i;
}
printf("%d
",i-j);
return0;
}
❸ 用c语言编译个简单压缩程序
/*
流程是:
1.读取一个字符,写入A
2.再读取一个字符,写入B
3.判断AB是否相等,相等转4,否则转5
4.一直读,同时统计数量,直到读取到和A不相等的字符,将改字符写入B,转5
5.将对应数据写入文件
下面是伪代码
*/
charA;
charB;
inti;
FilewriteFile;//要写入的文件
FilereadFile;//要读的文件
A=readChar(readFile);//读一个字符
while(文件未读完){
B=readChar(readFile);//读一个字符
if(A==B){
i=2;
while((B=readChar(readFile))==A){//一直读,直到读取的字符和A不一样
i++;
}
write(writeFile,A+"$"+i);//i代表重复数量
A=B;
}else{
write(writeFile,A);
A=B;
}
}
❹ 如何用C语言实现数据压缩
首先你要熟悉套接字的使用,然后要对ftp协议,
包括其中的数据包,通信过程有一定了解。
c语言开发网络程序一般都是用socket套接字这一套函数,你可以去看看资料
❺ C语言都有哪些经典的无损压缩算法
C语言经典的无损压缩算法有:哈夫曼算法、LZ。
哈夫曼算法:
哈夫曼编码是David A. Huffman于1952年发明的一种满足对编码算法要求的一种编码算法。
哈夫曼算法是利用频率信息构造一棵二叉树,频率高的离根节点近(编码长度短),频率低的离根节点远(编码长度长),手动构造方法是先将字母按照频率从小到大排序,然后不断选择当前还没有父节点的节点中权值最小的两个,构造新的父节点,父节点的值为这两个节点值的和,直到构造成一棵二叉树。
LZ算法:
LZ算法及其衍生变形算法是压缩算法的一个系列。LZ77和LZ78算法分别在1977年和1978年被创造出来。虽然他们名字差不多,但是算法方法完全不同。这一系列算法主要适用于字母数量有限的信息,比如文字、源码等。流行的GIF和PNG格式的图像,使用颜色数量有限的颜色空间,其压缩就采用了两种算法的灵活变形应用。
❻ 360压缩怎样压缩C语言程序
1、在c语言文件或存有c语言文件的文件夹上,
右单击鼠标,在弹出的菜单上选择压缩到"xxx.zip"
2、打开360压缩软件,在工具栏上单击添加,选择
c语言文件或文件夹,然后单击工具栏上的一键压缩。
❼ c语言压缩包怎样改成中文
1、首先,需要利用C语言的宏。
2、其次,将一些常见的英文表达。
3、然后,通过define,转化为中文。压缩包就是将初始文件经过压缩形成的文件,压缩文件内存更小,可以将多个文件压缩成一个文件。
❽ 如何用C语言实现数据压缩
首先选择一个压缩算法
然后按照算法实现压缩代码,调用接口就可以
常见的 可以使用哈夫曼编码压缩,或者使用开源的压缩代码,比如lzo, gzip, lzma等等。
❾ C语言实现文件压缩
typedef int (WINAPI ICEPUB_COMPRESSFILE)(char *strFilename, char *strZipFilename);
ICEPUB_COMPRESSFILE *icePub_compressFile = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_compressFile = (ICEPUB_COMPRESSFILE *)GetProcAddress(hDLLDrv, "icePub_compressFile");
}
if(icePub_compressFile)
icePub_compressFile("a.exe","a.Z");
if(hDLLDrv)
FreeLibrary(hDLLDrv);
typedef int (WINAPI ICEPUB_UNCOMPRESSFILE)(char *strZipFilename,char *strFilename);
ICEPUB_UNCOMPRESSFILE *icePub_uncompressFile = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_uncompressFile = (ICEPUB_UNCOMPRESSFILE *)GetProcAddress(hDLLDrv, "icePub_uncompressFile");
}
if(icePub_uncompressFile)
icePub_uncompressFile("a.Z","a.exe");
if(hDLLDrv)
FreeLibrary(hDLLDrv);