实现strstr函数

Posted ranran1203

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现strstr函数相关的知识,希望对你有一定的参考价值。

输入“1234567",字串”234“,返回”2345678“

 

const char * strstr2(const char * string, char *string2)
{
   for (int i = 0; string[i] != ‘\0‘; i++)
   {
  int j = 0;//每次字串都要从开始位置开始匹配
  int temp = i;//记录初始位置

  if (string[i] == string2[j])
  {
  while (string[i++] == string2[j++])
  {
  if (string2[j] == ‘\0‘)
  return &string[i - j];//返回结果
  }
  }
  i = temp;//回溯回去,记住
}
return NULL;
}
int main()
{
  char *string = "123456";
  char *string2 = "23";
  cout << strstr2(string, string2) << endl;
  cin.get();
  return 0;
}

以上是关于实现strstr函数的主要内容,如果未能解决你的问题,请参考以下文章

实现strstr函数

Leetcode练习(Python):双指针类:第28题:实现 strStr():实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle

字符串库函数及重点函数的模拟实现下篇--- strstr + strtok + strerror

28.实现 strStr() 函数

模拟实现库函数strstr 以及模拟实现函数 memcpy

strstr库函数实现