#include<iostream>
#include<string>
using namespace std;
//T为非空串,若主串S中的第pos个字符串之后存在与T相等的子串
//则返回第一个这样子串的位置,否则返回0
int string_compare(string A,int i,string B);
int Index(string S,string T,int pos)
{
int S_size,T_size;
int i;
S_size=S.size();
T_size=T.size();
if(T_size>S_size-pos)
return 0;
for(i=pos-1;i<=S_size-1-T_size;i++)
{
if(string_compare(S,i,T)==1)
return i;
}
return 0;
}
//判断A的第i个字符起,与B是否相等,相等则返回1,不想等则返回0
int string_compare(string A,int i,string B)
{
if((A.size()-i)<B.size())
return 0;
int dex=1;
for(int j=0;j<B.size();j++)
{
if(A[i+j]!=B[j])
{dex=0;break;}
}
return dex;
}
int main()
{
string A="asdfghj";
string B="ghk";
cout<<Index(A,B,2)<<endl;
system("pause");
return 1;
}