strstr函数:
char *strstr( char *str, char * substr );
这个函数用来检索子串在字符串中首次出现的位置。
其中 str 为要检索的字符串,substr为要检索的子串。
返回值是字符串str中第一次出现子串substr的地址。
如果没有检索到子串,则返回NULL。
在 my_strstr 这个代码里如果没有检索到子串,则返回-1。
代码:
#include<stdio.h>
#include<assert.h>
int my_strstr(const char* string, const char* strCharSet)
{
assert(string != NULL && strCharSet != NULL);
int i, j;
i = j = 0;
int dest_len = strlen(string);
int charset_len = strlen(strCharSet);
while (i < dest_len && j < charset_len)
{
if (strCharSet[j] == string[i])
{
i++;
j++;
}
else
{
i = i - j + 1;
j = 0;
}
}
if (j >= charset_len)
return i - j;
return -1;
}
void main()
{
char str1[20] = "helloworld";
char str2[20] = "wor";
int a = my_strstr(str1, str2);
printf("%d", a);
}