strstr函数的使⽤和模拟实现

strstr函数

一,strstr函数的使用

1.头文件

include <string.h>

2.函数作用

(1)、strstr() 函数搜索的是一个字符串在另一个字符串中的第一次出现。
(2)、找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;
(3)、如果未找到所搜索的字符串,则返回NULL。

3.函数原型

 const char *strstr(char *str1, const char *str2);   //返回值为字符型指针
  str1: 被查找目标
  str2: 要查找对象

strsrt函数的模拟实现

const char* my_strstr(char *str1, const char *str2)
{
  assert(  str1 && str2 );
  const char* p=str1;
  const char* s1=str1;
  const char* s2=str2;
  
  if(*str2 =='\0')
  return str1;

  while(*p)
  {
    s1=p;
    s2=str2;
    while(*s1==*s2 && *s1 && *s2 )
    {
      s1++;
      s2++;
    }
    while(*s2=='\0')
    return p;
    p++;
}
}
int main()
{
char arr1[]="abcdefabcdef";
char arr2[]="def";
char* ret=my_strstr(arr1,arr2);
if(ret!='\0')
printf("%s\n",ret);
else
printf("没有找到\n");
return 0;
}

运行结果

defabcdef
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值