strstr函数的用法举例,strstr() 函数的作用是什么-

  strstr函数的用法举例,strstr() 函数的作用是什么?

  const char strstr ( const char str1,const char * str 2);

  查找子字符串

  返回指向str1中第一个str2的指针,如果str2不是str1的一部分,则返回空指针。

  匹配过程不包括终止空字符,但它会到此为止。

  2.我自己写的(我自己试过,还没发现bug。有请告诉我)

  我们可以根据上面的要求来写strstr的函数。

  我们开始吧。

  char* my_strstr(const char* p1,const char* p2)

  断言(P1 p2);

  const char * tmp=p2

  if (*p2==\0 )

  返回P1;

  While (*tmp *p1)//都为真,所以循环下去。

  If(*p1==*tmp)//当两个字符相等时,同时相加

  p1,tmp

  Else if (*(p1-1)==*tmp)//有可能我的声母和他的一模一样,但是因为p1,我指的是声母的最后一个。

  -P1;//所以用这个来判断是否因为一个字符的大小而遗漏。如果少了一个字符,- p1就向前移动一位。

  else if (*p1!=*tmp)//当两个字符不相等时,需要将tmp返回到初始(initial)位置,

  p1,tmp=p2

  如果(!*tmp)//False当*tmp为 \0 时,但加!为真,因此返回指针。

  返回P1-strlen(p2);//减去p2的长度,因为您希望指针指向找到字符串的位置。

  else if(!*p1)//当*p1为 \0 时,由于tmp判断较早,如果*p1为 \0 ,则没有找到包含的字符串,返回空指针。

  返回NULL

  int main()

  const char * arr1= abcaabcdef

  const char * arr2= abcdef

  const char*p=my_strstr(arr1,arr 2);

  if ( p==NULL)

  Printf(未找到\ n );

  其他

  Printf (Found %s\n ,p);

  返回0;

  }

  3.这是一个库函数(推荐)

  //自己实现strstr

  char* my_strstr(const char* p1,const char* p2)

  断言(P1 p2);

  if (*p2==\0 )

  return(char *)P1;

  const char * m=NULL//设置两个空指针m.n。

  const char * n=NULL

  const char * ret=p1//将p1赋给ret

  While (*ret )//每次循环ret,直到ret为 \0 ,退出循环输出。

  m=p1,n=p2//将p1赋给M,p2赋给N,当下半部分判断为假时,N会变回字母地址。

  而(m n!(* m-*n))//如果减法为0,感叹号为真,继续执行。

  m,n;

  if (*n==\0 )

  return(char *)P1;//因为前面的p1是const,所以需要用char*强制转换。

  If (*m==\0)//当p1字符串的个数小于p2,但M和N相等时,当*m==\0 时返回空指针

  返回NULL

  返回NULL//因为*ret==\0 ,里面没有限定字符串,所以直接返回NULL

  int main()

  const char * arr1= abc

  const char * arr2= abcdef

  const char* p=my_strstr(arr1,arr 2);

  if (p==NULL)

  Printf(未找到\ n );

  其他

  Printf (Found %s\n ,p);

  返回0;

  }

  ,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: