// strstr函数扩展-忽略大小写 -- 摘抄自Apple开源代码

char *stristr(const char *String, const char *Pattern)

{

 char *pptr, *sptr, *start;

 int  slen, plen;

 

 for (start = (char *)String,

  pptr  = (char *)Pattern,

  slen  = strlen(String),

  plen  = strlen(Pattern);

 

 /* while string length not shorter than pattern length */

 

 slen >= plen;

 

 start++, slen--)

 {

  /* find start of pattern in string */

  while (toupper(*start) != toupper(*Pattern))

  {

   start++;

   slen--;

   

   /* if pattern longer than string */

   

   if (slen < plen)

    return(NULL);

  }

  

  sptr = start;

  pptr = (char *)Pattern;

  

  while (toupper(*sptr) == toupper(*pptr))

  {

   sptr++;

   pptr++;

   

   /* if end of pattern then pattern was found */

   

   if ('\0' == *pptr)

    return (start);

  }

 }

 return(NULL);

}


你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。