/*查找子串在给定字符串中出现的位子*/
#include <stdio.h>
#include <string.h>
int str_in_str(char *src_str,char *child_str)
{
int i = 0,j = 0;
for(;src_str[i] != '\0';i++)
{
if(child_str[j] == src_str[i])
{
if(j == strlen(child_str)-1)
{
return (i-strlen(child_str)+1);
}
j++;
continue;
}
if(j != 0 && j < strlen(child_str)-1)
{
i = i - 1;
j = 0;
}
}
return -1;
}
int main(void)
{
char src_str[] = "dadsdaaababcc";
char child_str[] = "abc";
int pos = str_in_str(src_str,child_str);
printf("pos = %d\n",pos);
return 0;
}
个人能力有限,如有错误请指出,谢谢!