再求高手c语言分析下 匹配字符串函数
时间:10-02
整理:3721RD
点击:
unsigned char *str_str(unsigned char *src,unsigned char len,unsigned char *sub)
{
bit a=0,b=0; //匹配到子串时为真
unsigned char *temp_sub,*temp_src,*org_src;
org_src=src;
temp_src=src;//12345678ok
temp_sub=sub;//2 ok
while ((temp_src-len<src)&&!a)
{
b=0;
while (*temp_src==*temp_sub)
{
b=1;
temp_src++;temp_sub++;
if (*temp_sub==0)
{
a=1;
org_src++;
break;
}
}
if (!a)
{
if (!b)
{
org_src=temp_src;
temp_src++;
} else
{
org_src=temp_src-1;
}
temp_sub=sub;
}
}
if (a)
{
return org_src;
}
else
{
return NULL;
}
}
{
bit a=0,b=0; //匹配到子串时为真
unsigned char *temp_sub,*temp_src,*org_src;
org_src=src;
temp_src=src;//12345678ok
temp_sub=sub;//2 ok
while ((temp_src-len<src)&&!a)
{
b=0;
while (*temp_src==*temp_sub)
{
b=1;
temp_src++;temp_sub++;
if (*temp_sub==0)
{
a=1;
org_src++;
break;
}
}
if (!a)
{
if (!b)
{
org_src=temp_src;
temp_src++;
} else
{
org_src=temp_src-1;
}
temp_sub=sub;
}
}
if (a)
{
return org_src;
}
else
{
return NULL;
}
}
已退回5积分