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 <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/>}
Fonction de bibliothèque de mise en œuvre de simulation strstr et fonction de mise en œuvre de simulation memcpy
Je suppose que tu aimes
Origine blog.51cto.com/14736509/2489252
conseillé
Classement