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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? oncorpusnew.cpp

?? 中文信息處理的源程序
?? CPP
字號:
//創(chuàng)建語料庫

void CMainFrame::OnCorpusNew()
{
	CFileDialog dlg(FALSE);   //獲取語料存盤文件名
	if(dl.DoModel()!=IDOK) return;
	if(1 corpusName.IsEmpty())  OnCorpusClose();  //關(guān)閉當前語料庫
	corpusName = dlg.GetPathName();
	OnCorpusAdd();   //添加語料
}

//打開語料庫
void CMainFrame::OnCorpusOpen()
{
	CFileDialog dlg(TRUE,"ylk","*.ylk",
		OFN_HIDEREADONLY| OFN_OVERWRITEPROMPT,
		"語料庫文件|*.ylk|所有文件||");         //語料庫存盤文件
	if(dl.DoModel()!=IDOK) return;
	if(1 corpusName.IsEmpty())  OnCorpusClose(); 

	CFile cf;char buf[512];
	if(cf.Open(const char *)(dlg.GetPathName()),CFile::modeRead){
		CArchive ar(&cf, CArchive::load,512,buf);
		texts.Serialize(ar);// 讀入所有語料文件名
	}
	else {AfxMessageBox("無法打開語料庫!");return;}
	CFile tf;
	CString ylkName = ChangeExt(dlg.GetPathName(), "@@@");
	if(tf.Open(const char *)ylkName,CFile::modeRead)){
		CArchive ar(&tf, CArchive::load,512,buf);
		for(int i=0;i<6768;i++)
			hzInfo[i].Serialize(ar);   //讀入每個漢字的信息(出現(xiàn)次數(shù)和地址串)
	}
	else{AfxMessageBox("無法讀入漢字信息!");return;}
	corpusName = dlg.GetPathName();   //保存語料庫文件名
	CorpusModified=FALSE;   //語料庫修改標記
}


//關(guān)閉語料庫
void CMainFrame::OnCorpusClose()
{
	if(corpusName.IsEmpty())  return;
	if(CorpusModified) {   //如果語料庫已經(jīng)修改
	CFile cf;char buf[512];
	if(cf.Open((const char *)corpusName,
		CFile::modeCreate|CFile::modeWrite)){
		CArchive ar(&cf, CArchive::store,512,buf);
		texts.Serialize(ar);
	}
	else {AfxMessageBox("語料庫無法存盤!");return;}
	texts.RemoveAll();
	CFile tf;
	CString ylkName = ChangeExt(corpusName, "@@@");
	if(tf.Open(const char *)ylkName,
		CFile::modeCreate|CFile::modeWrite)){
		CArchive ar(&tf, CArchive::store,512,buf);
		for(int i=0;i<6768;i++)
			hzInfo[i].Serialize(ar);   
	}
	else{AfxMessageBox("漢字信息無法存盤!");return;}
	corpusName = "";   //表示現(xiàn)在沒有打開的語料庫
	CorpusModified=FALSE;   //語料庫修改標記
}



//增加語料
void CMainFrame::OnCorpusAdd()
{
	if(corpusName.IsEmpty()||texts.GetSize() == 65535)  return;
	ProcessFiles ("txt","*.txt",AddAFile);
}

void AddAFile(CString FileName)
{
	int n= texts.GetSize();
	if( n == 65535) return;
	FILE *in; in=fopen((const char *)FileName, "rb");
	if(!in) {AfxMessageBox("打不開文件!"+ FileName);return;}
	while (! feof(in)) {
		unsigned char c1,c2;
		c1=(unsigned cahr)fgetc(in);
		if(c1<128) continue;  //不處理西文字符
		c1=(unsigned cahr)fgetc(in);
		if(c1>=176) {    //如果是漢字
			int id =HZ_ID(c1,c2); if(id<0||id>=6768)  continue;
			hzInfo[id].AddTextID(n);   //將語料文件序號加入地址串
		}
	}
	fclose(in);
	FileName.MakeLower();  //將文件名中的字母轉(zhuǎn)為小寫
	texts.Add(FileName);   //將文件名添加到字符串數(shù)組
	CorpusModified = TRUE;  //設(shè)置語料庫修改標記
}



//檢索漢字串
//需要獲取用戶輸入待查找的漢字串,并檢查其合法性
void CMainFrame::OnCorpusHanzi()
{
	CString key;
	if(!GetData("查找漢字串:",key))  return;
	key.TrimLeft(); key.TrimRight();    //壓縮前后空格
	int id,id2, n=key.GetLength();
	if(! GoodHzStr(key)) {   //檢查輸入的合法性
		AfxMessageBox("輸入的漢字串有錯誤!"+ FileName);
		return;
	}
	CWordArray *txtID, *tmp;
	id=HZ_ID((unsigned char)key[0],(unsigned char)key[1]);
	if(n==2){  //如果輸入的是單個漢字
		txtID=& (hzInfo[id].TextID);
		if(txtID->GetSize()==0) {
			AfxMessageBox("找不到這個漢字串");
			return;
		}
		Retrive(txtxID,key);   //在語料文件中檢索漢字key
		return;
	}
	//以下處理檢索多個漢字
	id2 =HZ_ID((unsigned char)hey[2],(unsigned char)hey[3]);
	//第二個漢字
	txtID = Intersection(hzInfo[id].TextID,hzInfo[id2].TextID);
	//求前兩個漢字的地址串的交集
	int i=4;   //從第三個漢字開始
	while(txtID->GetSize()>0 && i<key.GetLength()-1){
		id2 =HZ_ID((unsigned char)hey[i],(unsigned char)hey[i+1]);
		tmp= Intersection(*textID,hzInfo[id2].TextID);
		delete txtID;txtID=tmp;i+=2;
	}
	if(txtID->GetSize() == 0) {   //如果交集為空
		AfxMessageBox("找不到這個漢字串");
		return;
	}
	Retrive(txtxID,key);   //在語料文件中檢索漢字key
		return;
	}

//合法性輸入函數(shù)
BOOL GoodHzStr(CString s)
{
	int n=s.GetLength();
	if(n==0||n%2!=0)  return FALSE;
	for(int i=0;i<n-1:i+=2)
		if((unsigned char)s[i]<176 || (unsigned char)s[i]<161) return FALSE;
	return TRUE;
}


//求地址串的交集
CWordArray *Intersection(CWordArray &wi, CWordArray &wj)
{
	CWordArray *pw= new CWordArray;    //交集指針
	for(int i=0,j=0; i<wi.GetSize() && j<wj.GetSize();) {
		if(wi[i] == wj[j])  { 
			pw->Add(wi[i]); i++;j++;}   //加入相同地址
		else if(wi[i]<wj[j])  i++;
		else j++;
	}
	return pw;
}





//由地址查找漢字串
void Retrive(CWordArray *txtID, CString key)
{
	if(txtID->GetSize() == 0)  return;
	FILE *in, *out;
	int Examples=0;
	out = fopen("f:\\work\\4.8\\現(xiàn)代漢語自動分析\\output.txt","wt");
	if(! out) { AfxMessageBox("無法創(chuàng)建檢索輸出文件!");return;	}
	CStdioFile outFile(out);
	outFile.WriteString("查找字符串:“");
	outFile.WriteString(key+"”\n");
	for(int i=0;i<txtID->GetSize();i++){
		int id = txtID->GetAt(i);    //取出一個地址
		CStdio fname = texts[id];    //取出相應(yīng)的語料文件名
		in=fopen((const char *)frame, "rt");
		if(! in) { AfxMessageBox("找不到語料文件"+frame);continue;	}
		CStdioFile inFile(in);
		char s[3000];CString ss="",dd;
		while (inFile.ReadString(s,3000))   //讀語料文件的每一行
			if(key.GetLength()>2 && strstr(s,(const char *))key)
				|| key.GetLength()== 2 && FindOneHZ(s,(const char *)key)>= 0) { //如果含有該漢字或者漢字串
					Examples s++;   //例子個數(shù)
					dd.Format("例%40d:",Examples);
					ss+ = dd + s ;ss+ = '\n';   //加到輸出串中
			}
			if(ss.GetLength()>0)  {
				outFile.WriteString(fname+":\n");   //寫文件名
				outFile.WriteString(ss+"”\n");     //寫輸出串
			}
			inFile.Close();
	}
	outFile.Close();
	if(Examples >0)   AfxGetApp()-> OpenDocumentFile("output.txt");
	//在應(yīng)用程序中打開輸出文件
	else AfxMessageBox("找不到這個漢字串");
}






		

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区视频在线观看 | 国产无人区一区二区三区| 国产宾馆实践打屁股91| 亚洲综合在线视频| 国产日韩综合av| 欧美一区二区三区播放老司机| 成人国产精品免费| 蜜臀91精品一区二区三区| 亚洲伦理在线免费看| 国产无遮挡一区二区三区毛片日本 | 午夜日韩在线电影| 中文字幕国产一区| 精品日韩99亚洲| 欧美日韩午夜影院| 91免费视频网址| 国产精品夜夜爽| 免费的国产精品| 午夜av一区二区| 亚洲国产人成综合网站| 亚洲裸体xxx| 日本一区二区三区四区在线视频| 精品久久人人做人人爱| 777午夜精品免费视频| 欧美中文一区二区三区| 成人黄色免费短视频| 国精产品一区一区三区mba视频| 五月天久久比比资源色| 一区二区三区欧美日韩| 亚洲黄色av一区| 亚洲嫩草精品久久| 17c精品麻豆一区二区免费| 国产欧美一二三区| 久久精品亚洲精品国产欧美| 欧美va亚洲va在线观看蝴蝶网| 3d成人h动漫网站入口| 正在播放一区二区| 欧美男生操女生| 欧美妇女性影城| 欧美艳星brazzers| 欧美嫩在线观看| 欧美福利视频导航| 91精品国产综合久久婷婷香蕉| 欧美体内she精高潮| 欧美系列一区二区| 777亚洲妇女| 欧美不卡一二三| 久久久青草青青国产亚洲免观| 国产午夜三级一区二区三| 国产精品丝袜久久久久久app| 欧美激情艳妇裸体舞| 国产精品嫩草久久久久| 中文字幕一区二区三区乱码在线| 国产精品毛片大码女人| 亚洲精品伦理在线| 亚洲第四色夜色| 另类小说图片综合网| 国产中文字幕一区| 粉嫩绯色av一区二区在线观看| 成人国产电影网| 欧美亚洲综合在线| 日韩欧美在线观看一区二区三区| 精品欧美一区二区三区精品久久 | 色偷偷成人一区二区三区91| 欧美在线视频日韩| 日韩三级伦理片妻子的秘密按摩| 欧美大片日本大片免费观看| 国产日韩欧美精品综合| 亚洲视频精选在线| 日韩激情一二三区| 高清视频一区二区| 色偷偷久久一区二区三区| 欧美一区二区视频在线观看2022 | 蜜臀精品久久久久久蜜臀| 国产一区二区三区香蕉 | 成年人国产精品| 欧美日本在线观看| 国产三级精品三级在线专区| 亚洲精品综合在线| 日本成人在线电影网| 国产91对白在线观看九色| 色天使色偷偷av一区二区| 69堂精品视频| 国产精品美女久久久久久久久 | 亚洲宅男天堂在线观看无病毒| 美女视频黄 久久| 91在线观看视频| 日韩午夜在线影院| 亚洲日本丝袜连裤袜办公室| 久久精品国产**网站演员| 97精品超碰一区二区三区| 91精品国产综合久久久久久| 欧美激情一二三区| 日本美女一区二区| 日本精品视频一区二区三区| 久久久久国产精品人| 日韩激情中文字幕| 91老司机福利 在线| 久久嫩草精品久久久精品| 五月综合激情网| 91蜜桃网址入口| 久久精品人人做人人爽人人| 午夜欧美电影在线观看| a美女胸又www黄视频久久| 精品国产乱码久久久久久闺蜜| av中文字幕不卡| 精品成a人在线观看| 午夜精品久久久久影视| 99精品欧美一区| 久久精品亚洲精品国产欧美| 免费人成黄页网站在线一区二区| 在线一区二区三区四区五区| 中文字幕中文字幕一区二区 | 日韩福利视频网| 在线观看国产日韩| 国产精品传媒入口麻豆| 国产成人精品免费一区二区| 久久网站热最新地址| 欧美aaa在线| 91麻豆精品国产自产在线观看一区| 亚洲男帅同性gay1069| 成人动漫精品一区二区| 欧美国产欧美综合| 国产精选一区二区三区| 久久在线观看免费| 久久激情综合网| 欧美成人高清电影在线| 久久成人av少妇免费| 欧美一级片在线看| 男人的天堂亚洲一区| 日韩一级视频免费观看在线| 蜜桃久久久久久久| 日韩欧美在线影院| 久久精品国产色蜜蜜麻豆| 日韩一级片在线观看| 另类小说视频一区二区| 精品1区2区在线观看| 狠狠网亚洲精品| 久久女同性恋中文字幕| 丁香五精品蜜臀久久久久99网站 | 天涯成人国产亚洲精品一区av| 欧美色图在线观看| 三级一区在线视频先锋 | 在线精品视频一区二区| 亚洲一区二区欧美日韩 | 久久人人爽人人爽| 高清成人在线观看| 国产精品区一区二区三区| 9l国产精品久久久久麻豆| 亚洲视频在线一区二区| 欧美性猛交xxxx乱大交退制版| 亚洲午夜成aⅴ人片| 欧美性生活久久| 麻豆精品在线播放| 国产三区在线成人av| 99久久久久免费精品国产| 91视频.com| 亚洲麻豆国产自偷在线| 欧美日韩国产大片| 麻豆国产一区二区| 国产日韩欧美麻豆| 色综合中文字幕国产| 亚洲免费三区一区二区| 911精品国产一区二区在线| 韩国v欧美v亚洲v日本v| 国产精品色噜噜| 在线精品国精品国产尤物884a| 人妖欧美一区二区| 中文成人av在线| 欧美裸体一区二区三区| 国产一区二区伦理| 一区二区三区在线视频免费观看| 制服丝袜一区二区三区| 国产成人免费在线| 亚洲成人免费在线| 国产亚洲女人久久久久毛片| 91激情五月电影| 紧缚捆绑精品一区二区| 综合色天天鬼久久鬼色| 7777精品久久久大香线蕉| 成人免费视频视频| 日韩精品91亚洲二区在线观看| 国产日本欧美一区二区| 欧美喷潮久久久xxxxx| 成人教育av在线| 日本不卡视频一二三区| 亚洲天堂成人在线观看| 日韩精品在线看片z| 一本大道久久精品懂色aⅴ| 精品一二线国产| 亚洲一区在线视频| 久久久久久久久一| 欧美肥胖老妇做爰| 99r国产精品| 国产一区二区美女| 手机精品视频在线观看| 成人免费一区二区三区在线观看 | 欧美一级一区二区| 91看片淫黄大片一级在线观看| 韩国v欧美v亚洲v日本v| 性做久久久久久免费观看|