Fonction de bibliothèque de mise en œuvre de simulation strstr et fonction de mise en œuvre de simulation memcpy

Simuler pour implémenter strstr, demander si la chaîne cible contient la sous-chaîne recherchée. Le point principal est d'enregistrer la position actuelle du pointeur lorsque la chaîne cible se déplace. Cur est utilisé dans cet article pour enregistrer.#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/>}

Je suppose que tu aimes

Origine blog.51cto.com/14736509/2489252
conseillé
Classement