strstr函数实现(C语言)

C语言之strstr函数的使用和模拟实现 strstr函数的使用和模拟实现 阅读详情

strstr函数实现(C语言)

second60  20180601

        strstr 用来字符串查找子串。   

        顺便说一下, 字符串操作函数是C语言中非常重要的函数,里面包括了指针的精华,同时对学习数据结构,如链表,数组,有非常好的练手方法。同时,知道内部实现,是基础中的基础。所以学习字符串操作函数是深入学C的必经之路。

#include <stdio.h>
#include <assert.h>

const char* strstr(const char* src, const char* sub)
{
    const char *bp;
    const char *sp;
    if(!src || !sub)
    {
        return src;
    }
    /* 遍历src字符串  */
    while(*src)
    {
        /* 用来遍历子串 */
        bp = src;
        sp = sub;
        do
        {
            if(!*sp)  /*到了sub的结束位置,返回src位置   */
                return src;
        }while(*bp++ == *sp ++);
        src ++;
    }
    return NULL;
}


int main()
{
    char p[] = "123456";
    char q[] = "23";
    char *r = strstr(p,q);
    printf("r:%s\n", r);
    getchar();
    return 0;
}


C语言试题196之实现strstr函数功能 题目: 实现strstr函数功能 C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 ‘\0’。 该函数返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 null。 想获取更多C语言题目请猛搓这里==========》200个C语言题目目录汇总...... 阅读详情

相关推荐

保姆级教程:在Ubuntu 20.04上搞定pybind11,解决‘找不到头文件’的坑

本文提供了一份详细的Ubuntu 20.04下pybind11配置指南,重点解决常见的'找不到头文件'问题。从环境准备、安装策略到三种专业解决方案(修改CMakeLists.txt、环境变量方案、绝对路径包含),帮助开发者高效搭建C++与Python的桥梁。

weixin_28829325的博客 284

C语言实现strstr

1.strstr介绍 char* strstr( const char* str1, const char* str2 ); str1为以'\0'结束的被查找的字符串 str2为以'\0'结束的要查找的字符串 2.如何使用 被查找字符串:"abcdefabcdef" 要查找字符串:"def" strstr返回值为字符串地址:从被查找的字符串中 第一次出现 要查找的字符串的位置 向后打印 3.strstr的实现 #include<stdio.h> #include&.

Hello_World_213的博客 1898

PostGIS 小白入门详细指南

PostGIS 是 PostgreSQL 的一个扩展,它将 PostgreSQL 转变为一个功能强大的空间数据库,使其能够存储、查询和分析地理空间数据。PostGIS 遵循开放地理空间联盟(OGC)的标准,支持各种空间数据类型和操作,如点、线、多边形、缓冲区、空间连接等。存储各种空间数据类型(如几何类型和地理类型)空间索引,提高查询性能丰富的空间函数和操作支持投影和坐标系统转换城市规划与管理环境监测与分析物流与运输优化地图制作与可视化位置服务与导航。

落魄书生的职业学习生涯 1万+

04、字符串

1、字符串基本知识 --go 语言中时使用 “” 表示字符串 --定义的实例: s1 := "hello" s2 := "你好" --Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下表所示。 转义符 含义 \r 回车符(返回行首) \n 换行符(直接跳到下一行的同列位置) \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠 --代码示例: pack

weixin_41097516的博客 466

西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践

本文详细解析了西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践。通过实际案例和代码示例,介绍了状态机的基础认知、硬件配置、逻辑开发、调试技巧以及与MES系统集成的高级应用,帮助工程师高效实现设备自动化控制。

weixin_29255731的博客 530

【AUCell打分】:评估一个基因集在单细胞转录组的每个细胞中特定的活性程度

AUCell使用曲线下面积来计算输入基因集的一个有意义的基因子集是否在每个细胞的表达基因中富集。AUC 分数在所有细胞中的分布允许探索特征的相对表达。由于评分方法是基于排名的,因此 AUCell 与基因表达单位和归一化程序无关。此外,由于细胞是单独评估的,因此可以很容易地应用于更大的数据集。

weixin_40695088的博客 1万+

实现c语言中的strstr函数

实现c语言中strstr函数的功能

akemanaaa的博客 1631

(35)远程识别(又称无人机识别)(一)

Ardupilot官网关于《Peripheral Hardware》的翻译 —《(35) 远程识别(又称无人机识别)》。

无人机开发(开源Ardupilot) 4万+

c语言strstr的使用及模拟实现strstr函数

c语言strstr的使用及模拟实现strstr函数

qq_55256601的博客 2207

小蔺的米哈游数据分析师之路——MYSQL篇

作为新人,记录自己mysql学习历程

weixin_47070228的博客 433

Python爬虫实战(基础篇)—23—爬取微信小程序<随机目的地旅行>生成随机地址(附GUI版)

爬取微信小程序<随机目的地旅行>生成随机地址

weixin_42636075的博客 1228

用C语言实现 strstr() 函数

我的代码: #include <stdio.h> char* my_strstr(const char* p1, const char* p2); int main() { char a[20] = {'\0'}; gets_s(a); char b[20] = {'\0'}; gets_s(b); printf("%s",my_strstr(a, b)); return 0; } char* my_strstr(const char* p1, const char*

朴矢的博客 1862

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 366

C语言 strstr函数的用法及模拟实现strstr函数

C语言 strstr函数的用法及模拟实现strstr函数一、strstr函数的用法二、模拟实现strstr函数的功能 一、strstr函数的用法 1.strstr函数原型:char* strstr(const char* str1,const char* str2) 2.功能:strstr()是一个参数为两个字符指针类型,返回值是char*类型的函数,它用于找到子串(str2)在一个字符串(str1)中第一次出现的位置。这里因为传进来的地址指向的内容不会在发生改变,所以我们在两个形参(char*)前加上c

weixin_62677583的博客 3万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C语言:strstr函数的实现;

#define _CRT_SECURE_NO_WARNINGS #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;assert.h&gt; const char* my_strstr(const char* dest,const char* str) {  assert(str != NULL); assert(dest ...

qq_43647265的博客 1518

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C语言strstr函数实现

自己实现C语言中的strstr函数,用的是朴素的模式匹配算法,还有可以优化的地方,下次想好了再写。 /* strstr 实现 */ char* mystrstr(const char* dest, const char* src) { char* tdest = dest; char* tsrc = src; while (*tdest) { char* flag = tdest

重庆李四 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C语言:查找子串问题(strstr函数自己实现)

文章目录一、系统提供的函数:strstr二、自己实现strstr函数 一、系统提供的函数:strstr 系统提供的查找子串为:strstr。:在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 ‘\0’。 函数声明: char *strstr(const char *haystack, const char *needle) 参数: haystack:要被检索的...

Rain的博客 1万+

c语言strstr函数的模拟实现

strstr函数的模拟实现

cwz456917315的博客 398

c语言设计strstr函数,C语言strstr函数实现

自己实现C语言中的strstr函数,采用字符一个一个进行匹配,如果不等,则从下一个位置进行匹配。/*strstr 实现*/char* mystrstr(const char* dest, const char* src) {char* tdest = dest;char* tsrc = src;while (*tdest){char* flag = tdest;//设置标志位,方便回滚。while...

weixin_42220669的博客 569

C语言库函数strstr的模拟实现

大家好,这次为大家介绍的是库函数strstr的模拟实现。库函数strstr用于在一个字符串中查找另一个字符串第一次出现的位置。

2201_76113731的博客 540

strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )

kim的博客 10万+

[C语言]strstr函数的使用和模拟实现

返回一个指向str1中str2第一次出现的指针,如果str2中没有str1则返回NULL。

2303_77060768的博客 332

C语言实现strstr函数功能(附带源码)

C语言实现strstr函数功能(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1121

strstr函数c语言库函数_C语言模拟实现strstr函数,strrstr 函数

strstr和strrstr已经算是字符串中相对比较难的了,但是只要我们善于分析,解剖字符串,就会化难为易。其实学习代码的过程中需要我们静下心来分析,理解。srtstr函数的功能及用法原型:char *strstr(const char *dst, const char *src);#include找出src字符串在dst字符串中第一次出现的位置(不包括src的串结束符)。返回该位置的指针,如找不...

weixin_30134145的博客 737

C语言实现strstr函数模拟

2019/10/18日修改 经过了约一年的学习,对strstr的实现方法有了更多更深层次的了解,回想起来当年写的博客真的是思路简单而且笨拙,然而那时候写暴力匹配算法的我还是很可爱呢www,想了想还是把这篇留下来吧,顺便贴一下现在用C++写的暴力匹配算法: #include <iostream> using namespace std; int NaiveStrMatching(...

qq_43432875的博客 1270

c语言实现 strstr 函数

strstr 函数,主要功能为在str1中查找是否包含str2子串,如果包含则返回str1中str2子串的首元素地址,否则返回NULL. c语言简单实现strstr函数功能。

he_shuai20的博客 1625
上一篇: [设计模式]行为模式-中介者(C++描述)
下一篇: strcmp函数实现(c语言)
second60
博客等级 码龄9年 155粉丝 88原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值