一个字符串查找的函数

来源:互联网 发布:名侦探柯南主线知乎 编辑:程序博客网 时间:2024/06/12 01:10

看别人代码,发现字符串查找的一个方法,就是头尾比较,然后再对这个头尾区间的内存竟然比较,最终确定是否找到。

觉得自己之前没想到,回家后自己实现了一个,或者自己编程不够丰富哈哈。

(看比自己强的人写的代码是一种学习!O(∩_∩)O)

//找到的话返回指向Dstr的指针,找不到则返回空//找到头尾字节,然后内存比对char* StrFind( const char* Sstr, const char* Dstr, size_t Slen, size_t Dlen ){    char* pStr = (char*)Sstr;    char* pEnd = (char*)(Sstr+Slen);    bool bFind = false;    while((pStr+Dlen) <= (Sstr+Slen))    {        if((pStr =(char*)memchr( pStr, *Dstr, pEnd-pStr)) && (*(pStr+Dlen) == *(Dstr+Dlen)))        {            if(!memcmp(pStr,Dstr,Dlen+1))            {                bFind = true;                break;            }        }        if(!pStr)//haven't the str to find            break;        pStr++;    }//end while    return (bFind?pStr:NULL);}//end function


原创粉丝点击