在一个字符串中定位子字符串的位置。
#include<stdio.h>
#include<string.h>
#include<assert.h>
int locate(const char *mainString,const char *childString)
{
int i,j,k;
int m = strlen(mainString);
int n = strlen(childString);
for(i = 0;i<=m - n;i++)
{
j = 0; k = i;
while(j<n&&(mainString[k]==childString[j])){
j++;k++;
}
if(j==n)
{
printf("succeed!\n");
return i;
}
}
return -1;
}
void main()
{
int l;
char *mainStr,*childStr;
mainStr = "abcdefg";
childStr = "def";
l = locate(mainStr,childStr);
if(l==-1)
{
printf("not succeed!\n");
}
else{
printf("位置是%d\n",l);
}
}