字符串查找函数

2023-05-16

#include<string>
#include<stdio.h>
using namespace std;

/*在s1中查找s2最后一次出现的位置*/
char* my_strstr(char  * s1,char  *s2) {
     char* current=NULL;
     char* last=NULL;

    if (*s2 != '\0') {
        current = strstr(s1,s2);
        while (current != NULL) {
            last = current;
            current = strstr(last+1,s2);
        }
    }
    return last;
}

int main()
{
    //char strchr(char const * str,int ch); 查找字符ch第一次出现的位置,找到后函数返回一个指向该位置的指针。
    //char strrchr(char const * sttr,int ch);返回的是一个字符串种该字符最后出现的位置(right)
    char hello[30] = "Hello  there honey Hello.";
    char *ans = NULL;
    ans = strchr(hello,'h');
    printf("%d\n",(ans-hello));
    

    //查找任何几个字符
    //char * strpbrk(char const *str,char const *group);返回一个指向str中第一个匹配group中任意一个字符的位置。未找到返回NNULL
    ans = strpbrk(hello,"aeiou");
    printf("%d\n",(ans-hello));

    //查找一个子串strstr
    //char *strstr(char * s1,char * s2);r如果s2为空串返回s1
    ans=my_strstr(hello,"Hello");
    printf("%d\n",(ans-hello));

    //查找标记.strtok从字符串中隔离各个单独的称为标记(token)的部分
    //char* strtok(char* str,char const *sep);sep是个字符串,定义了分隔符的字符集合。strtok找到str的下一个标记,并将其以NULL结尾,然后返回一个指向这个标记的指针
    char* tmp = NULL;
    char* ptr = strtok_s(hello," ",&tmp);
    while (ptr != NULL) {
        printf("%s\n",ptr);
        ptr=strtok_s(NULL," ",&tmp);
    }
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

字符串查找函数 的相关文章

  • 【论文阅读】【综述】3D Object Detection 3D目标检测综述

    目录 写在开头3D Object Detection相关博客 xff1a Sliding windowVote3Deep Fast Object Detection in 3D Point Clouds Using Efficien xff
  • OpenStack历史知识

    翻译自 xff1a https docs openstack org project team guide introduction html OpenStack历史 起源 OpenStack项目在2010年前几个月创建 Rackspace
  • 元学习——meta-learning

    前言 称不上多熟悉这个领域 xff0c 毕竟还没有系统调研 最近读了两篇论文 xff0c 权当总结 学习优化器 简介 在这种方法中 xff0c 一个网络 xff08 元学习器meta learner xff09 学习更新另一个网络 xff0
  • PHP下载docx文档打开时显示 word2007无法打开Office OpenXML 文件

    症状 我自己的PHP xff0c 把word文档存入数据库后 xff0c 再从数据库下载成docx文件 xff1b 当打开该文件时 Word2007 xff0c 出现错误提示 xff1a 无法打开Office OpenXML 文件 文件名
  • 认真聊聊中断(软中断)

    文章目录 软中断与硬中断很像软中断的守护进程注册软中断向量表触发一次软中断总结 前面认认真真聊聊中断 xff0c 其实讲的都是硬中断 xff0c 注意是硬中断不是硬件中断哦 xff0c 硬中断的概念更大 硬中断包括中断 异常以及 INT 指
  • Pycharm 调用sklearn时出现Process finished with exit code -1066598274 (0xC06D007E)

    问题描述 跑代码的时候发现总是莫名奇妙的中断程序 xff0c 出现代码 Process finished with exit code 1066598274 0xC06D007E xff0c 网上搜半天也能用的解决方案 xff0c 后面逐句
  • 如何用C语言写一个服务器和客户端(TCP)

    如果想要自己写一个服务器和客户端 xff0c 我们需要掌握一定的网络编程技术 xff0c 个人认为 xff0c 网络编程中最关键的就是这个东西 socket 套接字 socket 套接字 xff1a socket 的原意是 插座 xff0c
  • CSS三种样式

    CSS样式分为 xff1a 内联式css样式 嵌入式css样式 外部式css样式 1 内联式css样式 内联式css样式表就是把css代码直接写在现有的HTML标签中 lt p style 61 34 color 000099 34 gt
  • ROS开发笔记(3):基于RoboWare Studio 与Python编写动作(action)通讯节点(node)

    ROS的动作非常适合时间不确定 xff0c 目标导向型的操作接口 原理上用话题实现 xff0c 其本质是相关于规定了一系列话题 xff08 目标 结果 反馈 取消等 xff09 的组合使用方法的高层协议 1 定义动作 与 相关话题说明 选中
  • ROS开发笔记(8)——Turtlebot3 Gazebo仿真环境下深度强化学习DQN(Deep Q-Learning)开发环境构建

    本文开发环境为Ubuntu 16 04 ROS版本为kinetic 主要参考链接 xff1a http emanual robotis com docs en platform turtlebot3 machine learning mac
  • 使用opencv实现基于Haar特征的人脸检测

    此文章主要是学习的记录 使用opencv的版本是 3 4 6 实现了图片的人脸检测及人的眼睛 鼻子和嘴巴的检测 里面使用的窗口显示相关的代码都是opencv的函数 人脸检测 openCV的人脸识别主要通过Haar特征分类器实现的 xff0c
  • Xmind2021绿色版,思维导图最佳软件

    Xmind2021绿色版 xff0c 思维导图最佳软件 序言 首先很抱歉拖更很久了 xff0c 因为各种学术上和未来安排上的迷茫和困惑 xff0c 导致我无心管理公众号 xff0c 有一段时间没有为大家带来各类软件和经验分享 xff0c 但
  • Java中的final

    1 final 在 Java 中的作用 final作为 Java 中的关键字可以用于三个地方 用于修饰类 类属性和类方法 特征 xff1a 凡是引用final 关键字的地方皆不可修改 xff01 1 修饰类 xff1a 表示该类不能被继承
  • 分享程序员面试的7个技巧

    金九银十又开始了 xff0c 不过这几年因为疫情的影响 xff0c 职场面试竞争力也变得格外的紧张 xff0c 这个时候除了实打实的技能 xff0c 面试的时候还需要更多的技巧 xff0c 双管齐下才能赢得更大的胜算 xff0c 技能方面就
  • Qt:在QtCreator中使用Clang-Tidy和Clazy检查C++代码质量

    QtCreator在前几天发布了4 6 0的版本 xff0c 增加了两个非常棒的新功能 xff0c 分别是Clang Tidy和Clazy 官方的blog链接 xff1a Qt Creator 4 6 0 released 这些功能能够帮助
  • surfaceView中添加控件

    最近想研究下WIFI ROBOT android 端的现实方法 xff0c 视频和虚拟摇杆都用到了SurfaceView 虚拟摇杆在前面一编讲了 xff0c 这里就把百度出的surfaceview 中加控件的说一下 xff0c 图中 xff
  • Docker中遇到无法删除的容器解决方案

    记录一下 xff0c 一个困扰了我一两天的问题 情况记录 在win10下的Docker中 xff0c 因为之前很少用windows xff0c 所以在某一次需要重启的时候就直接重启了 xff0c 但是在重启的就忘记了先关掉Docker xf
  • 融云SDK集成(一)集成SDK并连接成功

    声明 xff1a 此博客仅为个人学习记录使用 最近无聊时浏览了一下各大招聘网站发现 xff0c 招聘要求上都有写到有im经验或者是集成过融云环信的经验 这里博主特意去了解一下XMPP协议以及使用OpenFire服务器搭建了简易的即时聊天de
  • ESP8266开发中的流水账

    ESP8266开发中的流水账 1 开发环境 Windows下推荐使用AI Thinker打包的Eclipse开发环境 xff0c 直接下载后几本不用配置就可以使用了 同时 xff0c 一旦ESPRESSIF有了新的SDK xff0c 更新项
  • Futaba S-BUS协议解析

    一 协议说明 S BUS协议实际上通过串口进行数据发送 但是需要注意的是 xff0c S BUS的逻辑电平是反的 xff0c 需用如下电路对电平反相 xff0c 再接到串口接收的管脚 三极管可以用8050 串口配置为波特率100kbps x

随机推荐