字符串处理函数学习整理之一 strstr()

最近开始做一些公司的笔试题目了,很多基础的都是字符串的处理,在此,就做一个字符串处理函数的整理

第一个用到的是strstr,函数声明如下所示:如何使用就不说了,写个实现

  原型:extern char *strstr(char *haystack, char *needle);
        
  用法:#include <string.h>
  
  功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
  
  说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

/*
* Func: my_str_find
* IN:  *str        原始待处理字符串
* IN:  *sub_str    需要查找的特定字符串
* OUT: cahr*       返回在原始字符串中特定字符串第一次出现的位置。这里返回指针
* DES:
*/
char* my_str_find(char* str,char* sub_str)
{
    register char* raw_ptr;
    register char* sub_ptr;

    if(!*sub_str)//特定字符为空
        return str;
    while (*str)
    {
        raw_ptr = str;
        sub_ptr = sub_str;
        do 
        {
            if(!*sub_ptr)//一个特定字符串已经找完
                return str;
        } while (*raw_ptr++ == *sub_ptr++);
        str += 1;
    }
    return 0;

}





 



你可能感兴趣的:(字符串处理函数学习整理之一 strstr())