欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在C++中利用多線程實(shí)現(xiàn)電子詞典

本篇文章給大家分享的是有關(guān)怎么在C++中利用多線程實(shí)現(xiàn)電子詞典,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),井陘礦企業(yè)網(wǎng)站建設(shè),井陘礦品牌網(wǎng)站建設(shè),網(wǎng)站定制,井陘礦網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,井陘礦網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

具體內(nèi)容如下

// Dictionary.cpp : 定義控制臺應(yīng)用程序的入口點(diǎn)。
//vs2013編譯
//字典文件:https://pan.baidu.com/s/1YHtwptaq_V8j034U9_J96A
#include "stdafx.h"
#include <string>
#include <vector>
#include <iostream>
#include <map>
#include <fstream>
#include <io.h>
#include <thread>
#include <time.h>
#include <Windows.h>
using namespace std;

class ParseDirectory
{
public:
 ParseDirectory(string path){
 this->path = path;
 getFiles(files);
 isdone = false;
 t = thread(&ParseDirectory::txtToDic, this);
 //t.join();
 }
 bool isDone()
 {
 return isdone;
 }
 map<string, string> getDic()
 {
 return vecDics;
 }
 virtual ~ParseDirectory()
 {

 }

private:
 vector<string> files;
 string path;
 thread t;
 map<string, string> vecDics;
 bool isdone;
 void getFiles(vector<string>& files)
 {
 //文件句柄
 long  hFile = 0;
 //文件信息
 struct _finddata_t fileinfo;
 string p;
 if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
 {
  do
  {
  //如果是目錄,迭代之
  if ((fileinfo.attrib & _A_SUBDIR))
  {
   //if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
   //getFiles(p.assign(path).append("\\").append(fileinfo.name), files);
   continue;
  }
  else
  {
   files.push_back(p.assign(path).append("\\").append(fileinfo.name));
  }
  } while (_findnext(hFile, &fileinfo) == 0);
  _findclose(hFile);
 }
 }
 void txtToDic()
 {
 for each (string file in files)
 {
  fstream f(file);
  string word, explain;
  //map<string, string> dic;
  
  if (f.is_open())
  {
  //cout << file << endl;
  while (1)
  {
   
   getline(f, word);
   if (!getline(f, explain))
   break;
   vecDics[word] = explain;
  }
  }
  f.close();
  //vecDics.push_back(dic);
 }
 
 //cout << vecDics.size() << endl;
 isdone = true;
 
 }
};
void setColor(unsigned short ForeColor = 2, unsigned short BackGroundColor = 0)

{

 HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);//獲取當(dāng)前窗口句柄

 SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);//設(shè)置顏色

}
int _tmain(int argc, _TCHAR* argv[])
{
 
 
 vector<ParseDirectory*> pds;
 cout << "正在加載資源...";
 long start = clock();
 vector<map<string, string> > allWords;
 for (int i = 0; i < 26; i++)
 {
 string name = ".\\";
 name += 'A' + i;
 pds.push_back(new ParseDirectory(name));
 }
 int cnt = 0;
 
 for (int i = 0; i < pds.size(); i++)
 {
 if (pds[i]->isDone())
 {
  cnt++;
  allWords.push_back(pds[i]->getDic());
  Sleep(300);
 }
 if (cnt == pds.size())
  break;
 }
 system("cls");
 cout << "加載完成!" << "耗時(shí):" << (clock()-start)/1000.0 << "s" << endl;
 cout << allWords.size();
 string inquir;
 while (1)
 {
 bool flag = false;
 setColor();
 cout << "\n輸入要查詢的單詞:";
 setColor(7, 0);
 cin >> inquir;
 for (int i = 0; i < allWords.size(); i++)
 {
  auto t = allWords[i][inquir];
  if (t.size())
  {
  
  cout << t << endl;
  flag=true;
  }
 }
 if (!flag)
 {
  setColor(4, 0);
  cout << "抱歉,未找到單詞" << endl;
 }
 }

 
 system("pause");
 return 0;
}

效果圖:

怎么在C++中利用多線程實(shí)現(xiàn)電子詞典

以上就是怎么在C++中利用多線程實(shí)現(xiàn)電子詞典,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁標(biāo)題:怎么在C++中利用多線程實(shí)現(xiàn)電子詞典
路徑分享:http://aaarwkj.com/article20/gihjjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、App開發(fā)、網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
日本韩国视频一区二区| 国产亚洲精品精品国产亚洲| 国产欧洲日本一区二区| 国产精品中文字幕有码| 久久这里精品中文字幕| 午夜国产激情福利网站| 爱爱网爱综合日日干夜夜操| 九九视频免费观看5| 精品熟女少妇av免费观看| 成年人在线观看免费观看| 人妻猛烈进入中文字幕| 国语对白视频在线观看| 日本免费播放一区二区视频| 午夜免费福利视频一区| 日本不卡一区二区在线播放| 欧美一区二区三区人妻激情| 国产免费av高清在线| 日本av高清视频在线观看| 日韩欧美国产精品一区| 东京热一精品无码av| 蜜桃成人一区二区三区| 真人国产一级美女免费视频| 亚洲av男人天堂一区| 18禁黄久久久一区二区三区| 国产成人精品手机在线观看| 日韩欧美国产亚洲在线| 欧美日韩黄色人人小视频| 哈昂~不要啊在线观看| 日韩有码高清av在线| 91精品午夜在线观看| 国产一级性生活高清在线| 91九色在线精品人妻| av基地蜜桃蜜桃蜜桃| 精品亚洲一区二区在线| 日本中文字幕区二区三区电影| 男人自拍天堂在线视频| 日韩欧美亚洲一区二区| 亚洲少妇午夜福利视频| 91出品国产福利在线| 欧美日韩亚洲综合国产人| 日本亚洲一区二区在线观看|