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

来源:互联网 发布:网络黑彩票代理犯法吗 编辑:程序博客网 时间:2024/06/05 15:09

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


0 0