#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 512
char* my_strstr(char *str,char *dest)
{
int len1 = strlen(dest);
int len2 = strlen(str);
char *temp = NULL;
char *p = str;
char *s = dest;
if((len2 < len1) || ((len2 == 0) && (len1 != 0)))
{
return NULL;
}
if((len2 > len1) || (len1 == len2))
{
if((len1 = 0) && (len2 = 0))
{
temp = str;
return temp;
}
while(*s != '\0')
{
if((*s != '\0') && (*p == '\0'))
{
return NULL;
}
if(*p == *s)
{
temp = p;
p++;
s++;
}
else
{
p++;
s = dest;
temp = NULL;
}
}
}
return temp - len1 + 1;
}
int main()
{
char str1[MAX_SIZE];
char str2[MAX_SIZE];
char *temp;
printf("input str:");
gets(str1);
printf("input dest:");
gets(str2);
char *result = my_strstr(str1,str2);
temp = strstr(str1,str2);
printf("%x\n",result);
printf("%x\n",temp);
return 0;
}
编程实现strstr子串函数
最新推荐文章于 2022-07-26 16:28:42 发布