亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 壓縮dlg.cpp

?? 這是一個MFC的壓縮,解壓小程序,可以對各種文件進行壓縮
?? CPP
字號:
// 壓縮Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "壓縮.h"
#include "壓縮Dlg.h"
#include <string>
#include <fstream>
#include <map>
using std::string;
using std::ifstream;
using std::ofstream;
using std::map;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMyDlg dialog
string file(string name,string last)    //產生輸出文件的后綴名
{
	int pos=0;
	while(pos<name.size())
	{
		if(name[pos]=='.') break;
		else ++pos;
	}
	name=name.substr(0,pos+1);
	name+=last;
	return name;
}
void compress(const char* filename)
{
	ifstream in(filename);
	ofstream out(file(filename,"nc").c_str());
	//string expand;            //應該記錄文件擴展名,在輸出文件的某處應該記錄
	string stream;
	in>>stream;
	map< string , int > msi;     //本應該建立一個更大的字典集  比如一個ASCII集合
	msi["a"]=0; msi["b"]=1;
	msi["c"]=2; msi["d"]=3;
	msi["e"]=4; msi["f"]=5;
	msi["g"]=6; msi["h"]=7;
	msi["i"]=8; msi["j"]=9;
	msi["k"]=10; msi["l"]=11;
	msi["m"]=12; msi["n"]=13;
	msi["o"]=14; msi["p"]=15;
	msi["q"]=16; msi["r"]=17;
	msi["s"]=18; msi["t"]=19;
	msi["u"]=20; msi["v"]=21;
	msi["w"]=22; msi["x"]=23;
	msi["y"]=24; msi["z"]=25;	
	int i=0,k=2;               
	while(i<stream.size())
	{
		std::map<string,int>::iterator it=msi.begin();
		std::map<string,int>::iterator at;
		int max=(it->first).size();
		while(it!=msi.end())
		{
			int pos=stream.find(it->first,i);
			if(pos==i)
			{
				if(max<(it->first).size()) max=(it->first).size();
				at=it;
			}
			++it;
		}
		out<<(at->second)<<" ";          //最后在每個輸出的時候留一個空格,以便解壓
		string temp=stream.substr(i,max+1);
		msi[temp]=k;
		++k;
		i+=max;
	}
	out.close();
	out.clear();
}

void decompression(const char* filename)
{
	ifstream in(filename);
	//string expand;           ofstream out(file(filename,expand).c_str())
	ofstream out(file(filename,"txt").c_str());
	map<int,string> mis;
	mis[0]="a"; mis[1]="b";
	mis[2]="c"; mis[3]="d";
	mis[4]="e"; mis[5]="f";
	mis[6]="g"; mis[7]="h";
	mis[8]="i"; mis[9]="j";
	mis[10]="k"; mis[11]="l";
	mis[12]="m"; mis[13]="n";
	mis[14]="o"; mis[15]="p";
	mis[16]="q"; mis[17]="r";
	mis[18]="s"; mis[19]="t";
	mis[20]="u"; mis[21]="v";
	mis[22]="w"; mis[23]="x";
	mis[24]="y"; mis[25]="z";
	int prev_code,cur_code;
	in>>prev_code;
	out<<mis[prev_code];
	int k=2;              // k refer to map_key;
    while(in>>cur_code)
	{
		if(mis.find(cur_code)!=mis.end())
		{
			out<<mis[cur_code];
            mis[k++]=mis[prev_code]+mis[cur_code].substr(0,1);
		}
		else {
			string temp=mis[prev_code];
			temp+=mis[prev_code].substr(0,1);
			out<<temp;
			mis[k++]=temp;	
		}
		prev_code=cur_code;
	}
	out.close();
	out.clear();
}
CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMyDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMyDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMyDlg, CDialog)
	//{{AFX_MSG_MAP(CMyDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_JIEYA, OnJieya)
	ON_BN_CLICKED(IDC_YASUO, OnYasuo)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMyDlg message handlers

BOOL CMyDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMyDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMyDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CMyDlg::OnJieya() 
{
	CFileDialog dlg(TRUE);
	if(dlg.DoModal()==IDOK)
	{
		FileName=dlg.GetPathName();
		if(dlg.GetFileExt()!="nc")
			::MessageBox(m_hWnd,"此文件無法識別","Error",MB_OK);
		else decompression((const char*)(FileName));
	}
// TODO: Add your control notification handler code here
	
}

void CMyDlg::OnYasuo() 
{
	CFileDialog dlg(TRUE);
	if(dlg.DoModal()==IDOK)
	{
		FileName=dlg.GetPathName();
		if(dlg.GetFileExt()!="txt")
			::MessageBox(m_hWnd,"此文件無法識別","Error",MB_OK);
		else compress((const char*)FileName);
	}
	// TODO: Add your control notification handler code here
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人深夜福利app| 风间由美一区二区av101| 1024成人网色www| 久久久www成人免费无遮挡大片| 日韩欧美激情四射| 日韩欧美www| 欧美tickling挠脚心丨vk| 欧美一级欧美一级在线播放| 欧美精品xxxxbbbb| 欧美一区二区福利视频| 欧美一区二区三区婷婷月色| 日韩精品一区二区三区在线 | 色综合天天性综合| 91免费视频网址| 欧美艳星brazzers| 日韩欧美电影一区| 国产拍揄自揄精品视频麻豆| 久久精品一区四区| 亚洲三级视频在线观看| 一区二区三区精品视频| 亚洲国产日产av| 美女高潮久久久| 国产毛片精品视频| 97se亚洲国产综合自在线 | 欧洲精品视频在线观看| 91精品国产综合久久蜜臀| 精品少妇一区二区三区免费观看 | 日本成人超碰在线观看| 久久99国产精品成人| 国产成a人亚洲| 欧美日韩一区精品| 国产色一区二区| 亚洲午夜精品一区二区三区他趣| 看电视剧不卡顿的网站| 99视频在线观看一区三区| 欧美日韩国产在线播放网站| 久久影院电视剧免费观看| 亚洲国产高清在线| 免费欧美高清视频| 92精品国产成人观看免费| 欧美一区二区在线免费观看| 国产免费成人在线视频| 日韩在线一二三区| 成人v精品蜜桃久久一区| 欧美一区二区三区视频免费播放| 国产精品系列在线| 日产国产高清一区二区三区| 一本久久a久久免费精品不卡| 欧美一激情一区二区三区| 一区二区视频在线| 大美女一区二区三区| 日韩欧美资源站| 一区二区三区电影在线播| 国产精品一二三| 欧美一级搡bbbb搡bbbb| 亚洲另类在线视频| 成年人国产精品| 久久婷婷国产综合精品青草| 五月婷婷综合激情| 色综合久久88色综合天天6| 久久久久亚洲蜜桃| 男人操女人的视频在线观看欧美 | 欧美一级欧美一级在线播放| 亚洲精品国产一区二区精华液| 国产伦精一区二区三区| 欧美精品日日鲁夜夜添| 亚洲综合一区二区| aa级大片欧美| 国产精品免费观看视频| 国产精品一区二区免费不卡 | 亚洲一区二区在线免费看| 99精品视频一区二区三区| 国产精品美女久久久久av爽李琼| 国内久久婷婷综合| 久久蜜桃av一区精品变态类天堂| 久久99精品视频| 日韩欧美中文字幕一区| 精一区二区三区| 久久青草国产手机看片福利盒子| 国产一区美女在线| 久久久亚洲午夜电影| 福利一区二区在线| 国产精品国产三级国产普通话99 | 久久欧美一区二区| 国产精品中文字幕日韩精品| 国产欧美一区二区三区沐欲| 不卡的av在线播放| 亚洲婷婷综合久久一本伊一区 | 国产一区二区三区综合| 2欧美一区二区三区在线观看视频| 国产在线精品一区二区夜色| 久久久午夜精品理论片中文字幕| 国产一区二区看久久| 国产日韩成人精品| 91麻豆福利精品推荐| 亚洲成av人在线观看| 91精品国产综合久久精品图片| 日本va欧美va精品发布| xnxx国产精品| 色婷婷av一区二区| 日韩av电影免费观看高清完整版在线观看| 日韩三级中文字幕| 99国产精品久久| 免费成人在线视频观看| 国产精品国产自产拍高清av王其| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产欧美综合在线| 在线观看亚洲精品| 国内精品免费在线观看| 亚洲精品视频一区二区| 精品日韩欧美在线| 色偷偷成人一区二区三区91| 午夜精品影院在线观看| 国产欧美日本一区二区三区| 在线亚洲高清视频| 丁香婷婷综合激情五月色| 亚洲韩国一区二区三区| 欧美经典一区二区| 欧美日韩国产美女| 成人av网站大全| 久久成人精品无人区| 亚洲综合在线电影| 国产视频一区二区三区在线观看 | 捆绑紧缚一区二区三区视频 | 日韩高清一区在线| 国产精品毛片大码女人| 日韩三级.com| 欧美日韩视频一区二区| 成人h精品动漫一区二区三区| 久久狠狠亚洲综合| 亚洲成人av中文| 国产精品成人在线观看 | 成人v精品蜜桃久久一区| 极品美女销魂一区二区三区免费| 一区二区三区电影在线播| 国产精品久久久久久妇女6080| 日韩丝袜情趣美女图片| 欧美日韩精品一二三区| 色菇凉天天综合网| av在线不卡网| 国产**成人网毛片九色 | 色综合天天综合狠狠| 本田岬高潮一区二区三区| 国产高清不卡一区二区| 久久精品国产网站| 麻豆精品视频在线观看视频| 亚洲午夜视频在线| 亚洲最新视频在线观看| 亚洲一区二区在线免费观看视频| 亚洲乱码精品一二三四区日韩在线| 欧美激情在线一区二区| 国产欧美一区二区三区网站| 国产日韩欧美精品在线| 国产欧美一区二区精品忘忧草| 久久久久久久久一| 欧美激情资源网| 18欧美乱大交hd1984| 亚洲女爱视频在线| 亚洲高清不卡在线| 蜜桃av一区二区| 国产麻豆成人精品| av中文一区二区三区| 91久久一区二区| 91 com成人网| 久久久蜜臀国产一区二区| 国产精品久久看| 亚洲精品免费一二三区| 日本中文字幕一区二区视频| 青娱乐精品在线视频| 久久精品国产免费看久久精品| 国产一区二区精品久久99| 高清国产一区二区| 色偷偷88欧美精品久久久| 欧美精品色综合| 国产亚洲欧洲一区高清在线观看| 国产精品女同互慰在线看| 亚洲一区二区精品久久av| 久久99精品国产麻豆婷婷洗澡| 国产成人精品亚洲午夜麻豆| 色哟哟一区二区在线观看| 欧美人与禽zozo性伦| 国产拍揄自揄精品视频麻豆| 亚洲制服丝袜在线| 精品一区二区久久久| 色婷婷亚洲婷婷| 精品日韩在线观看| 夜夜亚洲天天久久| 国产又粗又猛又爽又黄91精品| 色婷婷精品久久二区二区蜜臀av | 成人av中文字幕| 91精品蜜臀在线一区尤物| 精品日韩成人av| 亚洲自拍与偷拍| 高清beeg欧美| 欧美成人精品福利| 亚洲视频一二区| 国产乱子轮精品视频| 欧美日韩一区二区不卡| 国产精品看片你懂得| 日韩av电影一区|