C++中判断字符串A中是否包含字符串B
C++中判断字符串A中是否包含字符串B
两个类型是string
或者一个CString,另一个string
c#的表达方式是 if(str1.indexof(str2) != -1)
求C++的表达方式
strstr()函数不知道怎么控制string
谢谢
[解决办法]
看下这样可不可以
#include <iostream>using namespace std;int main(){ string s="golden global view"; string r="global"; const char *show; show=strstr(s.c_str(),r.c_str());//返回指向第一次出现r位置的指针,如果没找到则返回NULL。 cout<<show<<endl; return 0;}
[解决办法]
#include"iostream.h"
#include"string.h"
void mian()
{
char a[81],b[81];
int i=0,j,na,nb,flag;
cout<<"Input string a:"<<endl;
gets(a);
cout<<"Input string b:"<<endl;
gets(b);
na=strlen(a);nb=strlen(b);
flag=1;
for(i=0;na-i>=nb;i++)
{
flag=-2;
for(j=0;j<nb;j++)
if(a[i+j]!b[j])
{flag=-1;break;}
if(flag==-2)
{flag=i+1;break;}
}
cout<<"a[]="<<a<<endl;
cout<<"b[]="<<b<<endl;
cout<<"flag="<<flag<<endl;
}
[解决办法]
string的话可以用find函数
#include <iostream>#include <string>using namespace std;int main(){ string s="golden global view"; string r="new"; if (s.find(r) < s.length()) { cout<<"s中包含r"<<endl; } else { cout<<"s中不包含r"<<endl; } return 0;}