读书人

C++中判断字符串A中是不是包含字符串B

发布时间: 2012-09-20 09:36:50 作者: rapoo

C++中判断字符串A中是否包含字符串B
C++中判断字符串A中是否包含字符串B

两个类型是string
或者一个CString,另一个string

c#的表达方式是 if(str1.indexof(str2) != -1)
求C++的表达方式
strstr()函数不知道怎么控制string
谢谢


[解决办法]
看下这样可不可以

C/C++ code
#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函数
C/C++ code
#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;} 

读书人网 >C++

热点推荐