自己写的StrStr函数

7 views
Skip to first unread message
Message has been deleted

Bob

unread,
Oct 20, 2006, 10:47:39 PM10/20/06
to 程序员乐园

#include "stdafx.h"

int StrStr(char a[], int alen, char pat[], int patlen)
{
int i = 0;
int j = 0;
while (i<alen && j<patlen)
{
if (a[i] == pat[j])
{
++i; ++j;
}
else
{
i = i - j + 1;
j = 0;
}
}
if ( j >= patlen)
return (i - patlen + 1); //位置
else
return 0; //没有匹配
}

int StrLen(char *s)
{
int len;

for (len = 0; s[len] != '\0'; len++)
;
return len;
}

int _tmain(int argc, _TCHAR* argv[])
{
char a[] = "adstringstdeilstrins";
char pat[] = "strin";

int alen = StrLen(a);
int patlen = StrLen(pat);
printf("alen=%d, patlen=%d\n", alen, patlen);
int i = StrStr(a, alen, pat, patlen);
printf("find pos=%d\n", i);

return 0;
}

Reply all
Reply to author
Forward
0 new messages