⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctextquery.cpp

📁 非常实用的查询工具
💻 CPP
字号:
# include "CTextQuery.h"

void TextQuery::store_file(std::ifstream& in)
{
	string content;
	while(getline(in,content))
		lines_of_text.push_back(content);
}

void TextQuery::build_map()
{
	string word;
	vector<string>::iterator it=lines_of_text.begin();
	line_no line=1;
	while(it!=lines_of_text.end())
	{
		istringstream strstream(*it);
		while(strstream>>word)
		{
			word_map[clean_up(word)].insert(line);
		}
		it++;
		line++;
	}
/*	while(line<lines_of_text.size())
	{
		istringstream strstream(lines_of_text[line]);
		while(strstream>>word)
		{
			word_map[word].insert(line);
		}
		++line;
	}
	cout<<"Debuging end"<<endl;*/
}

set<TextQuery::line_no> TextQuery::run_query(const std::string& str) const
{
	map<string,set<line_no> >::const_iterator it=word_map.find(str);
	if(it==word_map.end())
		return set<TextQuery::line_no>();
	else
		return it->second;
}

TextQuery::line_no TextQuery::size() const
{
	return lines_of_text.size();
}

string TextQuery::clean_up(string& word)
{
	string str;
	string::iterator it=word.begin();
	while(it!=word.end())
	{
		if(!ispunct(*it))
			str+=tolower(*it);
		it++;
	}
	return str;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -