Función de biblioteca de implementación de simulación strstr y función de implementación de simulación memcpy

Simule para implementar strstr, consulte si la cadena de destino contiene la subcadena buscada. El punto principal es registrar la posición actual del puntero cuando se mueve la cadena de destino. Cur se utiliza en este artículo para registrar.#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/>}

Supongo que te gusta

Origin blog.51cto.com/14736509/2489252
Recomendado
Clasificación