C++实现从字符串中查找是否含有另一段字符串

C++实现从字符串中查找确认是否含有另一段字符串


    需求具体描述:C++实现从某段字符串中查找确认是否包含另一段已知的字符串,举例说,A = “abcdefglmnxyz”, 我们需要确认A 字符串中是否包含 B = “lmn” 字符串。


    下面介绍两种方式实现。


1. strchr/strncmp实现:

char* My_strstr(const char* s1,const char* s2)  
{  
    const char *p=s1;  
    const size_t len=strlen(s2);  
    for(;(p=strchr(p,*s2))!=0;p++)  
    {  
        if(strncmp(p,s2,len)==0)  
        {  
            return(char*)p;  
        }  
    }  
    return(0);  
}
这是函数定义,记得需要在.h文件下声明:

char* My_strstr(const char* s1,const char* s2);

最后就是调用了(我们查找确认A中是否含有B):

  bool ifTrue = false;

  char *res = My_strstr(A,B);
    if(res != NULL)  
    {  
        ifTrue = true;  
    }  
    else  
    {  
        ifTrue = false;
    }
比如说A = “ abcdefglmnxyz” , B = “lmn” 。那么返回的就是  ifTrue = true;


2. string.Find()函数实现:

  if(A.Find(B, 0, true) == -1){
      ifTrue = false;
    }else{
      ifTrue = true;
    }

需求一样: 查找确认A中是否含有B


你可能感兴趣的:(C++/C)