`
kmplayer
  • 浏览: 509936 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

写个函数,实现strstr

 
阅读更多
1,函数名: strstr
功 能: 在串中查找指定字符串的第一次出现
用 法: char *strstr(char *str1, char *str2);
说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。

2,实现代码:
#include<iostream>
using namespace std;

char* MyStrStr(char* des, char* t)
{
    char* tmp_des;
    char* tmp_t;
    while(*des)
    {
        tmp_des = des;
        tmp_t = t;
        do
        {
            if (*tmp_t == '\0')
                return des;
        }
        while ( *tmp_des++ == *tmp_t++);
        ++des;
    }
    return 0;
}
int main()
{
    char *s="Golden Global View";
    char *l="Glob";
    char *p=NULL;
    p=strstr(s,l); //l为空,返回头地址
    if(p)
        cout<<p<<endl;
    else
        cout<<"Not Found!"<<endl;

    char *p2=NULL;
    p2=MyStrStr(s,l); //l为空,返回头地址
    if(p2)
        cout<<p2<<endl;
    else
        cout<<"Not Found!"<<endl;
    return 0;
}
分享到:
评论

相关推荐

    strstr和strcpy函数实现

    下面是一个简单的`strstr`函数实现示例: ```c #include #include char *my_strstr(const char *haystack, const char *needle) { if (haystack == NULL || needle == NULL) return NULL; size_t len = ...

    strstr,strdup,strsep 三函数实现

    `strstr`、`strdup`和`strsep`是三个非常实用的字符串操作函数,它们分别用于查找子串、复制字符串和分割字符串。下面将详细解释这三个函数的工作原理、用法以及它们在实际编程中的应用。 1. `strstr()` 函数: `...

    实现strstr()函数1

    在给定的实现中,我们看到一个自定义的 `strStr()` 函数,它的功能与标准库中的 `strstr()` 相似。下面将详细分析这个实现过程: 首先,函数接收两个参数:`haystack` 和 `needle`,分别代表主字符串和目标子字符串...

    C++ VC strstr函数的仿真

    在C++编程语言中,`strstr`函数主要用于在一个字符串(主字符串)中查找另一个字符串(子字符串)首次出现的位置,并返回指向该位置的指针。若未找到,则返回`NULL`。此函数在标准库`&lt;cstring&gt;`中定义。 #### 二、...

    python 实现strStr()函数

    # 实现 strStr() 函数 # 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1 # 示例 1: # 输入: haystack = "hello", ...

    C++中strstr函数的实现方法总结

    方法二:该方法使用了一个while循环来实现strstr函数。在循环中,我们使用了一个指针s1来遍历字符串str1,并使用另一个指针s2来遍历字符串str2。如果找到str2在str1中的出现位置,则返回str1中的指针。否则,返回空...

    strcmp,strstr,strcat,strcopy等函数源代码

    本文将详细讲解`strcmp`、`strstr`、`strcat`和`strcpy`这四个常用的字符串处理函数,并结合源代码进行分析。 首先,`strcmp`函数用于比较两个字符串是否相等。它的原型定义在`&lt;string.h&gt;`头文件中,返回值为整型,...

    LeeCode每日一题-实现strStr()

    实现strStr()函数    题目描述:实现 strStr() 函数。    给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。  ...

    php-leetcode题解之实现strStr.zip

    LeetCode中的"实现strStr()"问题要求编写一个函数,模拟C++库函数`strstr()`的功能。该函数接受两个字符串参数,`haystack`(主字符串)和`needle`(子串),并返回`needle`在`haystack`中的起始索引。如果`needle`...

    string函数实现

    除了`strlen`之外,`string`函数实现还包括很多其他常见的操作,例如`strcpy`用于复制字符串,`strcat`用于连接两个字符串,`strcmp`用于比较两个字符串,以及`strstr`用于在一个字符串中查找子串等。这些函数在处理...

    PHP中strpos、strstr和stripos、stristr函数分析_.docx

    在分析 strstr 函数的实现之前,我们首先来了解一下该函数的使用场景。strstr 函数通常用于查找子字符串在大字符串中的位置,并返回该位置之后的所有字符。 现在,让我们深入分析 strstr 函数的实现。首先,strstr ...

    200个C语言常用函数实现代码大全.rar

    "200个C语言常用函数实现代码大全"是一个珍贵的资源,它涵盖了C语言中许多常用的函数实现,对于初学者和经验丰富的程序员来说都是极具价值的学习材料。这个压缩包可能包含了从数据类型操作、字符串处理、内存管理到...

    C 语言中strstr函数实例详解

    在实现strstr函数时,可以使用双层循环来实现。下面是一个简单的实现示例: ```c const char* My_strstr(const char* str1, const char* str2) { assert(str1); assert(str2); while (*str1 != '\0') { const ...

    strstr()函数的局限

    这是因为strstr()函数的实现机制是从目标字符串的开头开始搜索,遇到0x00就停止搜索。 为了解决这个问题,可以在使用strstr()函数之前,剔除目标字符串中的0x00数据。这可以通过遍历目标字符串,跳过0x00数据,来...

    字符串相关函数实现(自己编写的)

    在这个主题中,我们聚焦于一个自定义实现的字符串函数库,它包括了字符串的复制、查找、对比和连接等基本操作。下面将详细讨论这些功能及其在实际编程中的应用。 首先,字符串复制是常见的操作,通常由`strcpy`或`...

    关于C语言函数strstr()的分析以及实现

    以下是几个不同版本的`strstr()`函数实现: 1. 第一个实现: 这个版本首先检查`str2`是否为空,然后通过`while`循环遍历`str1`。在内部的`for`循环中,比较`str1`和`str2`的相应字符,如果所有字符都匹配并且`str2...

    C语言实现的读写配置文件函数,与Windows API函数功能一样

    本篇将详细介绍如何使用C语言来实现一个类似Windows API功能的配置文件读写函数,以及这些函数的工作原理和实现细节。 配置文件(如.ini文件)常用于存储应用程序的设置和参数,方便程序在启动时读取,运行时修改或...

    LeetCode 28. 实现 strStr()

    LeetCode 的第 28 题“实现 strStr()”是一个经典的字符串搜索问题,要求我们在给定的字符串(haystack)中查找另一个字符串(needle)首次出现的位置。如果找不到,返回 -1。这个题目旨在考察对字符串处理的理解和...

    重写strstr.pdf

    5. 函数的返回值:在实现strstr时,需要注意函数的返回值,如果找到了子串,则返回指向第一次出现该子串的指针;如果没有找到,则返回NULL。 6. 循环的使用:在实现strstr时,需要使用循环结构进行遍历比对,包括...

Global site tag (gtag.js) - Google Analytics