cs2码strstr函数

来源:互联网 发布:淘宝美工面试问题 编辑:程序博客网 时间:2024/05/16 19:34
char*hot_ucs2_strstr(const char *str1, const char *str2)
{
    char *cp = (char *) str1;
    char *s1, *s2;
   
    if (!(*str2 || *(str2+1)))
    {   
        return((char *)str1);
    }

    while (*cp || *(cp+1))
    {
        s1 = cp;
        s2 = (char *) str2;
       
        while ((*s1 || *(s1+1)) && (*s2 || *(s2+1)) && !((*s1-*s2) || (*(s1+1)-*(s2+1))))
        {
            s1 += 2;
            s2 += 2;
        }
       
        if (!(*s2 || *(s2+1)))
        {
            return(cp);
        }
       
        cp += 2;
    }
   
    return 0;   
}

void main()
{
  char tests[]="你好吗?我喜欢你";
char *p=hot_ucs2_strstr(tests,"我");
printf("%s",p); //输出:我喜欢你
}
原创粉丝点击