#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";
}
}
}
realoj 125 模拟windos操作系统 文件搜索
最新推荐文章于 2018-08-02 19:32:05 发布