检查字符串是否包含某些特定单词-C ++

时间:2019-01-07 18:08:03

标签: c++

对不起,如果重复,因为我在此页面上找不到相同的问题。

我试图弄清楚一个字符串是否包含某些特定单词(例如“ not”)。如果包含,则它将返回真,否则将返回假。然后,我正在检查它的测试用例数量。

此函数将返回字符串是否包含“ not”。

bool ans(string s){
 if(s.length()==0){
     return false;
 }

  if(s[0]==' ' && s[1]=='n' && s[2]=='o' && s[3]=='t' && (s[4]==' ' || 
     s[4]=='\0')){
     return true;
 }

 return ans(s.substr(1,s.length()-1));
}

主要功能(其中t是测试用例的数量,s是字符串。)

int main(){
   int t;
   cin>>t;

   while(t--){
      string s;
      getline(cin,s);
      if(s[0]=='n' && s[1]=='o' && s[2]=='t' && (s[3]==' ' || s[3]=='\0')){
         cout<<"true"<<endl;
         continue;
      }
      if(ans(s)){
         cout<<"true"<<endl;
      }else{
         cout<<"false"<<endl;
      }
   }
}

但是,每当我输入测试用例数时运行它,它就输出false甚至不输入任何字符串输入。我无法弄清楚为什么getline函数不能正确执行。

0 个答案:

没有答案