【C语言】模拟实现strtsr函数

来源:互联网 发布:sql语句update where 编辑:程序博客网 时间:2024/05/16 05:54
//模拟实现strtsr函数#include<stdio.h>#include<windows.h>#include<assert.h>char* my_strstr(const char*dststr, const char*substr);int main(){    printf("%s\n", my_strstr("abcdhellojihhello", "hello"));    system("pause");    return 0;}char *my_strstr(const char*dststr, const char*substr){    assert(dststr);    assert(substr);    if (strlen(dststr) < strlen(substr))    {        return NULL;    }    const char*dst_start = dststr;    const char*sub_start = substr;    const char*dst_end = dst_start + strlen(dststr) - strlen(substr);    while (dst_start <= dst_end)    {        char *pos = dst_start;        while (*sub_start != '\0'&&*dst_start == *sub_start)        {            dst_start++;            sub_start++;        }        if (*sub_start == '\0')        {            return pos;        }        else        {            sub_start = substr;            dst_start = pos + 1;        }    }    return NULL;}

这里写图片描述

0 0