码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-04-22 11:42:52      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:std   else   r++   assert   str   找不到   字符串   clu   har   

模拟实现strstr,查询目标字符串中是否含有所查的子串,里面的要点是记录目标字符串移动时当前指针的位置,本文中采用cur来记录。#include &lt;stdio.h&gt;<br/>#include&lt;assert.h&gt;<br/>char* my_strstr(char* p1,char* p2)<br/>{<br/>assert(p1 && p2);<br/>char* cur = p1;<br/>char* s1 = p1;<br/>char* s2 = p2;<br/>if (*s2 == ‘\0‘)<br/>return p1;<br/>while (*cur)<br/>{<br/>s1 = cur;<br/>s2 = p2;<br/>while (*s1 != ‘\0‘ && *s2 != ‘\0‘ && *s1 == *s2)<br/>{<br/>s1++;<br/>s2++;<br/>}<br/>if (*s2 == ‘\0‘)<br/>{<br/>return cur;<br/>}<br/>cur++;<br/>}<br/>return NULL;<br/>}<br/>int main()<br/>{<br/>char arr1[] = "abbcdef";<br/>char arr2[] = "bcd";<br/>char* ret=my_strstr(arr1, arr2);<br/>if (ret == NULL)<br/>printf("找不到子串");<br/>else<br/>printf("是子串");<br/>}

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

标签:std   else   r++   assert   str   找不到   字符串   clu   har   

原文地址:https://blog.51cto.com/14736509/2489252

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!