#include "stdafx.h"
#include <fstream>
using namespace std;
typedef struct tree
{
int v;
int wei;
int parent,lchild,rchild;
}treenode,*treePtr;
struct code
{
int start;
bool *s;
};
void BitToByte(char *Out, const bool *In, int bits)//比特换char函数,反向存储
{
memset(Out, 0, bits>>3);
for(int i=0; i<bits; ++i)
Out[i>>3] |= In[i]<<(i&7);
}
void ByteToBit(bool *Out, const char *In, int bits)//反向转化
{
for(int i=0; i<bits; ++i)
Out[i] = (In[i>>3]>>(i&7)) & 1;
}
int go( char s_path[] ,char t_path[] )//0表示未能完成编码,1表示未找到文件,2表示正常完成
{
std::locale::global(std::locale(""));//设置文件路径的使用环境
//////////////////////////////////////////
//处理文件路径,path1为源文件路径,path2为目标路径
char *path1=new char[strlen(s_path)*2];
char *path2=new char[strlen(t_path)*2+50];
char *name=new char[strlen(s_path)*2];
int i=0,j=0,k=0;
//处理源路径
while(s_path[i]!='\0')
{
path1[j]=s_path[i];
if((int)s_path[i]<0) { path1[j+1]=s_path[i+1];j+=2;i+=2; }
else if( (int)s_path[i]=='\\' ) { path1[j+1]=s_path[i]; j+=2;i++; }
else {j++;i++;}
}
path1[j]='\0';