当前位置: 首页 > news >正文

星月教你做网站汽车网站模板免费下载

星月教你做网站,汽车网站模板免费下载,网站建设管理自查工作总结,宝塔面板 wordpress读取用户指定的任意文本文件#xff0c;然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数#xff0c;并列出每次出现所在的行。如果某单词在同一行中多次出现#xff0c;程序将只显示该行一次。行号按升序显示#xff0c;即第 7 行应该在第 9 行之前输出然后允许用户从该文件中查找单词。查询的结果是该单词出现的次数并列出每次出现所在的行。如果某单词在同一行中多次出现程序将只显示该行一次。行号按升序显示即第 7 行应该在第 9 行之前输出依此类推。 textquery.h 头文件定义文件 #ifndef TEXTQUERY_H //防止重复定义名称大写 #define TEXTQUERY_H #includemap #includeset #includestring #includefstream #includevectorclass textquery { public:typedef std::vectorstd::string::size_type line_no;void read_file(std::ifstream is) //定义函数读取文件{store_file(is); //调用函数把打开的文件流存入文件build_map(); //调用函数生成map容器}std::string text_line(line_no) const; //声明 行文本函数std::setline_no run_query(const std::string) const; //声明查询函数返回行号集合set//每一个字符串所在行返回set多个行号 private:void store_file(std::ifstream); //声明函数void build_map(); //声明函数std::vectorstd::string lines_of_text; //定义每一行的文本作为一个元素存在vector里std::mapstd::string, std::setline_no word_map; //把每个string和其行号set 做成map }; #endiftextquery.cpp 头文件的实现文件 #include textquery.h #includefstream #includesstream using namespace std;//store_file函数实现 void textquery::store_file(ifstream is) {string textline;while(getline(is,textline)) //从文件流 is中获取每一行的文本存成 n行个元素的 vectorlines_of_text.push_back(textline); }//build_map函数实现 void textquery::build_map() {for(line_no line_num 0; line_num ! lines_of_text.size(); line_num) //遍历 n行{istringstream line(lines_of_text[line_num]); //定义字符串流line绑定每行的文本string word;while(line word) //把字符串流line里的每个字符串word和其行号line_num存成mapword_map[word].insert(line_num);} }//查询函数run_query实现 settextquery::line_no textquery::run_query(const string query_word) const {mapstring, setline_no ::const_iterator loc word_map.find(query_word);//找到被查询单词的迭代器if(loc word_map.end())return setline_no(); //如果找到结尾了没找到返回空setelsereturn loc-second; //如果找到了返回迭代器指向对象的第二元素 set行号集合 }//文本行 text_line函数返回某行的文本 string textquery::text_line(line_no line) const {if(line lines_of_text.size()) //如果行号没有超出范围返回vector里的某个元素一行文本return lines_of_text[line];throw std::out_of_range(line number out of range); //行号超出则抛出异常 }main_textquery.cpp 主函数 #includetextquery.h #includeiostream #includestring #includestdexcept #includefstream using namespace std;//单词加后缀函数 string make_plural(size_t ctr, const string word, const string ending) {return (ctr 1)?word:wordending; //多个单词后缀加s }//打印某字符对应所有行的文本函数 void print_results(const settextquery::line_no locs, const string s, const textquery file) {typedef settextquery::line_no line_nums;line_nums::size_type size locs.size(); //字符串的行号有多少个cout \n s occurs size make_plural(size, time, s) endl;line_nums::const_iterator it locs.begin();for(;it ! locs.end();it) //遍历行号set{cout \t(line (*it)1 ) file.text_line(*it) endl;//输出每个行号对应的文本} } int main(int argc, char **argv) {if(argc 2) //判断输入文本名称参数没有{cerr No input file! endl;return EXIT_FAILURE;}ifstream infile;infile.open(argv[1]);if(!infile) //判断文件打开了没有{cerr can not open input file! endl;return EXIT_FAILURE;}textquery tq; //定义文本查询对象tqtq.read_file(infile); //读取文件存储生成map数据库while(true){cout enter word to look for, or q to quit: ;string s;cin s;if(!cin || s q)break;settextquery::line_no locs tq.run_query(s); //查询字符串s返回其所有行号setprint_results(locs,s,tq); //打印tq对象查询字符串s下对应所有行的行文本}return 0; }编译运行结果 g cpp cpp -o exename
http://wiki.neutronadmin.com/news/381377/

相关文章:

  • 网站建设模板坏处百度搜索榜排名
  • 网站开发就是ssh吗app网站开发的特点
  • 徐州网站seo公司甘肃最新消息
  • 目前有做电子合同的网站吗哪些网站做财金的好
  • 手机网站 qq代码小欢喜林磊儿什么网站做家教
  • 网站感谢页面食品商标出售网
  • 帮人做设计的网站网站开发需要经过的几个主要阶段
  • 国外做网站推广专题网站建设总要求
  • 百度云建站网站建设做网站与运营一般多少钱
  • 徐州市中心做网站的公司招聘没有网站也可以做外贸吗
  • 网站怎么更新wordpress评分管理
  • 专注律师微网站建设与律师微信营销公司网站建设价格低
  • 网站建设成本表网上注册公司需要多少钱
  • 做网站做的好的公司有哪些asp网站收录后换成php网站转向链接 要注意什么
  • 建站平台入口网站托管解决方案
  • 做网站公司汉狮价格如何制作网站的步骤
  • 做电商网站的公司简介太原网站建设设计
  • 网站建设数据库是什么意思网站做qq链接代码
  • 赣州开发区网站建设wordpress资源网主题
  • 自己做视频网站 在优酷推广怎么注册公司都需要什么手续
  • 专业的国内网站建设公司全屋定制给设计吗
  • 网站排名优化提升快速网站建设制作公司
  • 威海建设公司网站交换链接营销
  • 网站建设过程中应该注意的事项有开发公司企业管理制度
  • 重庆主城优化网站建设一个wordpress两个站点
  • 商城类网站如何众筹成都网站设计报告书
  • 做模具五金都是用的那个网站广陵区建设局网站
  • 有哪些制作网站的公司网站下载链接怎么做
  • 织梦多网站上海网站建设 美橙
  • 做网站平方根怎么表示权威的锦州网站建设