字符串处理函数学习整理之一 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;

}





 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值