找到特定串在源字符串中的位置

本文详细介绍了如何使用C语言实现一个函数,用于在给定的源字符串中查找特定子字符串的位置。通过实现find_str函数,深入理解字符串搜索算法,并附带代码实例和用例验证。

/************************************************
* 函 数 名: find_str
* 函数功能:
* 找到特定串在源字符串中的位置
* 作 者: sunlian
* 完成时间: 2009年8月30日
*
* 参 数:
* 输 入:
* src 源字符串
* mode 需要查找的子字符串
* 输 出:
* -2 异常,失败
* -1 没有找到
* >0 子串在目标串中的起始位置
*************************************************/

int find_str( char *src, char *mode)
{
    int len=0;
    int mode_len=0;
    int start=0;
    int step=0;
    int i=0;
    int ret=-1;
    if(src == NULL || mode == NULL)
    {
        return -2;
    }

    len=strlen(src);
    mode_len=strlen(mode);

    if( len == 0 || mode_len ==0 || len < mode_len )
    {
        return -2;
    }

    start=0;

    while( start + mode_len <= len)
    {
        for( i=0; i < mode_len ; i++)
        {
            if( src[start + i] != mode[i])
            {
                break;
            }
        }
        if( i == mode_len)
        {
            ret=start;
            break;
        }
        start++;
    }

    return ret;
}

 

转载于:https://www.cnblogs.com/sherlockhomles/p/3211007.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值