急需C++高手帮助!!!

来源:百度知道 编辑:UC知道 时间:2024/05/20 08:57:53
前几天在网上找一篇关于赫夫曼编码的C++源代码,但是我想把键盘输入改为从一个文本文件“file.txt”中直接读取,然后编码,再译码,可是改了好久也没有成功,所以急需好心人C++高手们帮忙,小弟万分感谢。代码如下:

#include "iostream"
#include "iomanip"
#include "string"
using namespace std;

#define MAX 256
typedef string *STR;

void InputData(string &s);
void DeCode();

typedef struct Huffnode {
unsigned weight; //权值 字符出现频率
bool in; // 是否加入Huffman树
int lchild,rchild;
void Set(unsigned &w,int lc=-1,int rc=-1,bool in = false ) {
weight = w;
lchild = lc;
rchild = rc;
in = in;
}

Huffnode() { weight=0; in = false;lchild=-1;rchild=-1;}
} *HuffTree;

void GetCode(HuffTree &nodes,int &k,STR &Code,string &str,int i,int leafNum,unsigned *Ind) {
if (k<leafNum) {
Code[Ind[k]] = str.substr (0,i);
return;
}
str[i] = '0';
GetCode(nodes,nodes[k].lchild ,Code,str,i+1,leafNum,

看到第一句这样的写法我就不继续看了。
#include "iostream"

建议你去好好看看标准IO库,这方面的资料还是蛮全的~~~里面对文件的调用函数很多,要分类的。耐心一定能解决的,相信自己~~IO的机制有时候蛮复杂,个人觉得哈~~呵呵~~