int BF_Maching(const char* str, const char* sub) {
assert(str != NULL);
assert(sub != NULL);
int len_str = strlen(str);
int len_sub = strlen(sub);
for (int i = 0; i < len_str; i++)
{
int k = i;
for (int j = 0; j < len_sub+1; j++)
{
if (sub[j] == '\0')
{
return k - j;//返回在主串中的下标
}
if (str[k] == sub[j])
{
k++;
}
else
{
break;
}
}
}
return -1;//未找到
}
int main()
{
const char* str = "ababcabcdabcde";
const char *sub = "abcd";
int pos = BF_Maching(str, sub);
printf("%d\n", pos);
return 0;
}