//返回 -1 表示未找到匹配位置
//其他值为子串在字符串中的第一个位置
#include <iostream>
int Search(char *Str,char *Sum){
int l1=strlen(Str);
int l2=strlen(Sum);
if (l1-l2<0) //如果子串大于字符串长度直接返回
return -1;
int i;
for (i=0;i<l1-l2;i++)
{
int m=i;
int j;
for (j=0;j<l2;j++)
{
if (Str[m]!=Sum[j]) //有不匹配字符直接跳出
break;
m++;
}
if (j==l2) //找到匹配,跳出循环
break;
}
return i<=l1-l2?i:-1;
}
void main(){
char Str[15]="abdedabjlfdf";
char Sum[4]="aj";
std::cout<<Search(Str,Sum);
getchar();
}