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 <stdio.h><br/>#include<assert.h><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/>}
Función de biblioteca de implementación de simulación strstr y función de implementación de simulación memcpy
Supongo que te gusta
Origin blog.51cto.com/14736509/2489252
Recomendado
Clasificación