realoj 125 模拟windos操作系统 文件搜索
来源:互联网 发布:windows同步时间出错 编辑:程序博客网 时间:2024/06/05 16:39
#include<iostream>#include<fstream>#include<sstream>#include<vector>#include<string>#include<stack>#include<cmath>#include<cstdlib>#include<algorithm>#include<functional>#include<ctime>#include<iomanip>#include<cstring>#include <cstdio>#include <map>#include <list>#include <set>#include <queue>#include <deque>#include <climits>using namespace std;int main(){ ifstream cin("atest.txt"); string s,ss,left,right; vector<string>v,end; int m,n; int p; while(cin>>m) //////文件数量 { v.clear(); for(int i=1;i<=m;i++) { cin>>s; v.push_back(s); } cin>>n; ///////查询的数量 for(int i=1;i<=n;i++) { cin>>ss; left=""; right=""; p=ss.find("*"); for(int j=0;j<p;j++) left+=ss[j]; for(int j=p+1;j<ss.size();j++) right+=ss[j]; end.clear(); for(int j=0;j<v.size();j++) { if(v[j].size()<(left.size()+right.size())) continue; if(left.size()!=0) if(v[j].find(left)!=0) continue; if(right.size()!=0) { //反转 reverse(right.begin(),right.end()); reverse(v[j].begin(),v[j].end()); if(v[j].find(right)!=0) { reverse(right.begin(),right.end()); reverse(v[j].begin(),v[j].end()); continue; } reverse(right.begin(),right.end()); reverse(v[j].begin(),v[j].end()); } end.push_back(v[j]); } ////////输出结果 for(int k=0;k<end.size();k++) { cout<<end[k]; if(k!=end.size()-1) cout<<", "; else cout<<endl; } if(end.size()==0) cout<<"没有找到文件!\n"; } }}