c语言中<string.h>的strstr与strtok函数

c语言中string.h的strstr与strtok函数

  • 代码
  • 运行结果

代码

#include <stdio.h>
#include <string.h>


///1.在字符串str1里面,查找第一次出现str2的位置
//char * strstr(const char * str1,const char * str2)

///2.sep为分割符,根据分割符来对str进行分割
//char * strtok(char * str,const char * sep);


int main()
{
    /*******************strstr-begin****************/
    char arr1[64] = {"redmi and xiaomi,are you ok?"};
    char arr2[16] = {"xiaomi"};
    char * ret = strstr(arr1, arr2);
    if(ret == NULL)
        printf("i do not find %s\n",arr2);
    else
        printf("%s\n",ret);//输出:xiaomi,are you ok?   =>很明显,找到后并从那里截断
    /*******************strstr-end****************/

    /*******************strtok-begin****************/
    const char *str = "123456789@goole.com";
    const char *sep = {"1.@"};//分隔符
    char arr[30] = {0};
    char *result = NULL;
    strcpy(arr,str);
    for(result = strtok(arr,sep); result!= NULL ;result = strtok(NULL,sep))
    {
        printf("result:[%s]\n",result);
    }
    /***
     * 输出结果:
     * result:[23456789]
     * result:[goole]
     * result:[com]
     * 输出分析:
     * 第一步:1.@为3个"独立"的分隔符
     * 第二步:1[切一刀]   23456789@[切一刀]  goole.[切一刀]  com
     * 第三步:1[切一刀]消失    @[切一刀]消失    .[切一刀]消失
     * 第四步:剩下了:  23456789   goole    com    =>答案
    */
    /*******************strtok-begin****************/

    return 0;
}

运行结果

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/542678.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【WEEK7】 【DAY5】JDBC—PreparedStatement Object【English Version】

2024.4.12 Friday Following 【WEEK7】 【DAY4】JDBC—Statement Object【English Version】 Contents 10.3.PreparedStatement Object10.3.1.PreparedStatement can prevent SQL injection, more efficient than statement10.3.2. Insertion10.3.3. Deletion10.3.4. Update10.…

Windows版PHP7.4.9解压直用(免安装-绿色-项目打包直接使用)

安装版和解压版 区别 安装版: 安装方便&#xff0c;下一步------下一步就OK了&#xff0c;但重装系统更换环境又要重新来一遍&#xff0c;会特别麻烦解压版&#xff08;推荐&#xff09;&#xff1a; 这种方式&#xff08;项目打包特别方便&#xff09;能更深了解mysql的配置&…

C 408—《数据结构》易错考点200题(含解析)

目录 Δ前言 一、绪论 1.1 数据结构的基本概念 : 1.2 算法和算法评价 : 二、线性表 2.2 线性表的顺序表示 : 2.3 线性表的链式表示 : 三、栈、队列和数组 3.1 栈 3.2 队列 3.3 栈和队列的应用 3.4 数组和特殊矩阵 四、串 4.2 串的模式匹配 五、树与二叉树 5.1 树的基…

StarUML笔记之从UML图生成C++代码

StarUML笔记之从UML图生成C代码 —— 2024-04-14 文章目录 StarUML笔记之从UML图生成C代码1.Add Diagram2.在TOOLBOX中左键点击Class,松开,然后在中间画面再左键点击&#xff0c;即可出现UML3.修改类图&#xff0c;并添加接口&#xff0c;方法&#xff0c;属性&#xff0c;我…

超干!如何编写完美的Python命令行程序?

这篇文章将教你如何编写完美的 Python 命令行程序&#xff0c;提高团队的生产力&#xff0c;让大家的工作更舒适。 作为 Python 开发者&#xff0c;我们经常要编写命令行程序。比如在我的数据科学项目中&#xff0c;我要从命令行运行脚本来训练模型&#xff0c;以及计算算法的…

分享免费财务软件,比花钱买的还好用!

领取方式&#xff1a; 复制该链接在浏览器打开&#xff1a;网页链接扫码登陆。进入系统&#xff0c;创建账套即可直接使用&#xff0c;如图所示&#xff1a; 功能&#xff1a; 功能1、智能会计凭证&#xff1a;可以自动匹配科目、自动填充相应信息、检测到异常情况&#xff…

世界各国柴油价格22.7统计

数据详情介绍&#xff1a; 统计时间为2022年7月4日。在该月份&#xff0c;全球柴油的平均价格为每升1.43美元。然而&#xff0c;各国间存在明显的价格差异。一般而言&#xff0c;西欧等发达国家的价格基本在每升2美元以上&#xff1b;相反&#xff0c;像伊朗、委内瑞拉、利比亚…

设计模式代码实战-外观模式

1、问题描述 小明家的电源总开关控制了家里的三个设备&#xff1a;空调、台灯和电视机。每个设备都有独立的开关密码&#xff0c;分别用数字1、2和3表示。即输入1时&#xff0c;空调关闭&#xff0c;输入2时&#xff0c;台灯关闭&#xff0c;输入3时&#xff0c;电视机关闭&am…

聊聊jvm中内存模型的坑

jvm线程的内存模型 看图&#xff0c;简单来说线程中操作的变量是副本。在并发情况下&#xff0c;如果数据发生变更&#xff0c;副本的数据就变为脏数据。这个时候就会有并发问题。 参考&#xff1a;https://www.cnblogs.com/yeyang/p/12580682.html 怎么解决并发问题 解决的…

B端系统:控制台图表的十大常见类型,附精美案例

大家伙&#xff0c;我是大千UI工场&#xff0c;专注UI分享和项目接单&#xff0c;本期带来控制台图表的常见类型&#xff0c;欢迎大家关注、互动交流。 B端系统控制台的图表类型有很多种&#xff0c;常见的包括&#xff1a; 折线图&#xff1a;用于显示随时间变化的数据趋势&a…

CSS基础之伪类选择器(如果想知道CSS的伪类选择器知识点,那么只看这一篇就足够了!)

前言&#xff1a;学习CSS就必须要学习选择器&#xff0c;在之前我们已经学习了基本选择器和复合选择器&#xff0c;但是还有几个选择器没有学习&#xff0c;这篇文章主要讲解伪类选择器。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-…

01 | 源码编译(Redis6.2.6源码CLion编译调试)

01 | 源码编译&#xff08;Redis6.2.6源码CLion编译调试&#xff09; C语言的运行和构建工具介绍Windows平台安装cygwin安装CLion并设置编译运行环境导入redis源码配置CMakeLists.txtredis根目录下配置CMakeLists.txt&#xff0c;文件内容如下&#xff1a; 构建redis源码报错问…

大数据信用报告中有高风险多久能清除?

很多人可能会听说过大数据信用&#xff0c;因为现在大数据信用已经是很多放贷机构进行风控审核的重要依据&#xff0c;那大数据信用报告中有高风险多久能清除呢?本文就详细为你介绍一下&#xff0c;希望对你了解大数据信用高风险有帮助。 大数据信用为什么会有高风险 大数据信…

面试官:实战中用过CountDownLatch吗?详细说一说,我:啊这...

写在开头 在很多的面经中都看到过提问 CountDownLatch 的问题&#xff0c;正好我们最近也在梳理学习AQS&#xff08;抽象队列同步器&#xff09;&#xff0c;而CountDownLatch又是其中典型的代表&#xff0c;我们今天就继续来学一下这个同步工具类&#xff01; CountDownLatc…

蓝桥杯基础18——第13届省赛真题与代码详解

目录 0.心得体会 1.题目如下 2.代码实现的思路 键值扫描 数码管窗口切换 数码管的动态扫描 继电器工作时L3闪烁&#xff0c;整点时刻L1灯光亮5秒 3.变量列表 定义的常量和数组 功能控制和状态变量 定时器和计数变量 4.代码参考 4.1 头文件 onewire.h ds1302.h 4…

funasr 麦克风实时流语音识别;模拟vad检测单独输出完整每句话

参考: https://github.com/alibaba-damo-academy/FunASR chunk_size 是用于流式传输延迟的配置。[0,10,5] 表示实时显示的粒度为 1060=600 毫秒,并且预测的向前信息为 560=300 毫秒。每个推理输入为 600 毫秒(采样点为 16000*0.6=960),输出为相应的文本。对于最后一个语音…

IntelliJ IDEA 2024 for Mac/Win:引领Java开发新纪元的高效集成环境

在日新月异的软件开发领域&#xff0c;一款高效、智能的集成开发环境&#xff08;IDE&#xff09;无疑是程序员们不可或缺的神兵利器。今天&#xff0c;我要为大家介绍的&#xff0c;正是这样一款集大成之作——IntelliJ IDEA 2024。无论是Mac用户还是Windows用户&#xff0c;只…

react query 学习笔记

文章目录 react query 学习笔记查询客户端 QueryClient获取查询客户端 useQueryClient异步重新请求数据 queryClient.fetchQuery /使查询失效 queryClient.invalidateQueries 与 重新请求数据queryClient.refetchQueries 查询 QueriesuseQuery查询配置对象查询的键值 Query Key…

LLM生成模型在生物基因DNA应用:HyenaDNA

参考&#xff1a; https://github.com/HazyResearch/hyena-dna 整体框架基本就是GPT模型架构 不一样的就是&#x1d5a7;&#x1d5d2;&#x1d5be;&#x1d5c7;&#x1d5ba;&#x1d5a3;&#x1d5ad;&#x1d5a0; block &#xff0c;主要是GPT的多重自注意力层引入了cnn…

深度学习图像处理基础工具——opencv 实战信用卡数字识别

任务 信用卡数字识别 穿插之前学的知识点 形态学操作 模板匹配 等 总体流程与方法 1.有一个模板 2 用轮廓检测把模板中数字拿出来 外接矩形&#xff08;模板和输入图像的大小要一致 &#xff09;3 一系列预处理操作 问题的解决思路 1.分析准备&#xff1a;准备模板&#…