📄 coding.h
字号:
#pragma once
# include <iostream>
# include <string>
# include <fstream>
# include "huffmantree.h"
# include "iter.h"
using namespace std;
const int Csize=256;
class Coding{
public:
Coding( const char * );
Coding(){}
~Coding(){ htree.DelAll(); }
void setstrkey( const char * ); //设置字符串的huffman编码
int setfilekey( const char *filename ); //设置文件的huffman编码
void getCode( char c, char*str ); //获取字符c的编码
void setcode(int flag); //设置并获取编码
void saveCode2File( ofstream &fo, char *str ); //将字符串转存入文件,字符串不足8位时返回
void saveLastCode2File( ofstream &fo, char *str ); //将不足8位字符串存入文件
// int decode( char *co, char * deco );
void decode( char *co, ostream &out); //解码并输出原码,冗余字符由co返回
void printcode( const char * a ); //屏幕输出编码
int compress( const char *ifi, const char *ofi ); //压缩文件
bool decompress( const char *ifi ); //解压文件
private:
char letter[Csize]; //存放字母
string Code[Csize]; //存放编码
int freq[Csize]; //存放字母频数
ExtBinTree<char> htree; //存放设置huffman编码的扩展二叉树
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -