在主串中定位子串 int Index(SString S,SString T,int pos) { int i = pos;//主串中匹配的位置 int j = 1;//子串中匹配的位置 while(i<=S[0]&&j<=T[0])//串的长度存储在第一个位置 { if(S[i]==T[j]) { ++i; ++j;//如果两个值相等就继续比较 } else {i=i-j+2; j=1;//否则就回溯 } if(j>T[0]) { return i-T[0];//匹配成功 } else { return 0; } } }