配置文件恢复(双重匹配)

来源:互联网 发布:手机淘宝为什么打不开 编辑:程序博客网 时间:2024/05/21 11:06
#include<bits/stdc++.h>using namespace std;void split(char a[],vector<string>&v){    char*p=strtok(a," ");    while(p!=NULL)    {        string t;        for(int i=0; i<strlen(p); i++)            t+=p[i];        v.push_back(t);        p=strtok(NULL," ");    }}int main(){    char a[1000000];    string cmd1="reset";    string ans1="reset what";    string cmd_first[5]= {"reset","board","board","reboot","backplane"};    string cmd_second[5]= {"board","add","delet","backplane","abort"};    string ans[5]= {"board fault","where to add","no board at all","impossible","install first"};    while(gets(a)!=NULL)    {        vector<string>v;        split(a,v);        if(v.size()==1)        {            if(cmd1.find(v[0])==0)            {                cout<<ans1<<endl;            }            else            {                cout<<"unkown command"<<endl;            }        }        else if(v.size()==2)        {            int flag=-1;            int i;            for(i=0; i<5; i++)            {                if(cmd_first[i].find(v[0])==0&&cmd_second[i].find(v[1])==0)                {                    if(flag==-1)                    {                        flag=i;                    }                    else                    {                        cout<<"unkown command"<<endl;                        break;                    }                }            }            if(i==5&&flag==-1)            {                cout<<"unkown command"<<endl;            }            else if(i==5&&flag!=-1)            {                cout<<ans[flag]<<endl;            }        }        else        {            cout<<"unkown command"<<endl;        }    }    return 0;}

原创粉丝点击