博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言:自定义一个查找字串的功能函数,类似于<string.h>中的strstr()
阅读量:4588 次
发布时间:2019-06-09

本文共 1026 字,大约阅读时间需要 3 分钟。

//自定义一个字符串字串查找标准库函数strstr()

#include<stdio.h>

#include<string.h>

char* myStrstr(char *str1,char *str2);

int main()

{

    char *str1 = "hello worl world ld";

    char *str2 = " world ";

    puts(myStrstr(str1,str2));

    return 0;

}

char *myStrstr(char *str1,char *str2)

{

    static int count=0;

    const char *p = str2;

    char *pt;

    while(*(str2++))

    {    

      while(*(str1++))

      {

          //如果str2和str1第一个字符一样,接着第二个字符的比较,count累加

        if(*(str2-1)==*(str1-1))

        {

          count++;

          break;

        }    

          //如果str2和str1第一个字符不一样,接着对str1进行遍历,直到结尾

        else if(*(str2-1)!=*(str1-1) && count<strlen(p))

        {

          continue;

        }

          //如果str2和str1前几个字符一样,再进行比较时不一样,str2从头开始

        else

        {

          str2 = str2 - count;

          break;

        }

      }

      if(*str2=='\0' && count==strlen(p))

        pt = str2-count;//找到字串,将指针移到str2首地址并返回

      else

        pt = NULL;//没有找到字串,返回空值NULL

      }

     return pt;

}

 

转载于:https://www.cnblogs.com/XYQ-208910/p/4696809.html

你可能感兴趣的文章
Percona XtraDB Cluster集群
查看>>
mybatis学习笔记1--HelloMybatis
查看>>
正则表达式全局匹配网址
查看>>
js多张图片合成一张图,canvas(海报图,将二维码和背景图合并) -----vue
查看>>
前端页面刷新与跳转
查看>>
笔记本链接公司内网(跨网段) ,然后保证wifi
查看>>
Httpd做应用代理
查看>>
如何用Jmter生成合法的手机号
查看>>
Jmeter生成正常的人名
查看>>
Jmeter 做压力测试步骤
查看>>
jmeter生成随机的四位数
查看>>
Jmeter做接口的压力测试
查看>>
sql语句优化的30种方法
查看>>
MyISAM和InnoDB的区别
查看>>
springboot2.0 management.security.enabled无效
查看>>
spring cloud启动zipkin,报错maven依赖jar包冲突 Class path contains multiple SLF4J bindings
查看>>
源发行版8需要目标发行版1.8
查看>>
Cleartext HTTP traffic to xxx not permitted解决办法
查看>>
[Docker] Win10中安装Docker并运行Nginx镜像
查看>>
salesforce入门
查看>>