strstr()函数的使用说明(C语言)

strstr()函数的使用说明(C语言)头文件<string.h>函数作用:1、strstr()函数搜索一个字符串在另一个字符串中的第一次出现。2、找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;3、如果未找到所搜索的字符串,则返回NULL。函数原型:char*strstr(char*str1,constchar*str2);//返回值为字符型指针str1:被查找目标…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

头文件

<string.h>

函数作用:

1、strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
2、找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;
3、如果未找到所搜索的字符串,则返回NULL。

函数原型:

  char *strstr(char *str1, const char *str2);   //返回值为字符型指针
  str1: 被查找目标
  str2: 要查找对象

情景一:

用于单次匹配
返回的是匹配成功的字符串以及后面的字符串

#include <stdio.h>
#include <string.h>
main()
{ 
   
    char *s="GoldenGlobalView";
    char *l="lob";
    char *p;
    p=strstr(s,l);
    if(p)
        printf("%s",p);
    else
        printf("NotFound!");
    return 0;
}

运行实例:

lobalView

情景二:
用于单次匹配
返回的是子串在母串的位置

#include <stdio.h>
#include <string.h>
main()
{ 
   
    char *s="GoldenGlobalView";
    char *l="lob";
    char *p;
    p=strstr(s,l);
    if(p)
        printf("%d",p-s+1);
    else
        printf("NotFound!");
    return 0;
}

运行实例:

8

情景三:
用于多次匹配知道母串结束
记录子串在母串中出现的次数

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

int main()
{ 
   
    int i,n,j,k=0;
    char a1[1001],a2[1001];
    scanf("%s %s",a1,a2);
    char *p;
    p=a1;
    while( ( p=strstr(p,a2) ) != NULL)//p为子串与母串匹配成功
    { 
   								  //时,子串第一个符号在母串
        k++;						  //中出现的位置地址
        p++; //p++后才能匹配下一个,否则无法退出循环
    }
    printf("%d",k);
}

运行实例:

abababababa
aba
5
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181622.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OPC协议_opc协议端口号

    OPC协议_opc协议端口号当然,OPCUA组件也可以在Unix操作系统的信息技术(IT)系统中使用,诸如:Solaris、HPUX、AIX、Linux等,可以是企业资源计划(ERP)系统,可以是生产计划(MES)和监控软件(SCADA),还可以是电子商务应用。OPCUA接口协议包含了之前的A&E,DA,OPCXMLDAorHDA,只使用一个地址空间就能访问之前所有的对象,而且不受WINDOWS平台限制,因为它是从传输层Scoket以上来定义的,这点后面会提到,导致了灵活性和安全性比之前的OPC都提升了。……

    2025年5月26日
    4
  • java出现中文乱码_JAVA中文显示乱码问题「建议收藏」

    java出现中文乱码_JAVA中文显示乱码问题「建议收藏」在基于JAVA的编程中,经常会碰到汉字显示乱码的问题,经一番查询现总结如下。在JSP中建议网页编码方式用GBK,这样会方便一些。这个问题是因为JAVA编码方式转换出现了问题,Java中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。我知道一定有很多朋友也会碰到这个问题,所以特就总结了一下,来拿出来让大家一起分享了。自己也做个备忘。…

    2022年7月8日
    18
  • python下载安装教程[通俗易懂]

    python下载安装教程[通俗易懂]python3.7.3下载步骤第一步:进入Python官网[https://www.python.org/](https://www.python.org/)第二步:点击downloads进入下载界面选择你想要的下载的版本。这里我选择的是Python3.7.3第三步:新建一个标签,输入网址:[https://python123.io/download](https://python123.io/d…

    2022年6月14日
    39
  • WinForm拖动没有标题栏窗体的方法

    建立窗体的名称修改为:Form_HoverTree文后附有源码下载。主要代码:效果图:可以看出,这个窗体为自定义形状的窗体,没有标题栏。具体参考:http://hovertree.com/h/bj

    2021年12月28日
    39
  • boost lockfree queue-boost无锁队列「建议收藏」

    boost lockfree queue-boost无锁队列「建议收藏」例子如下:#include<iostream>#include<boost/lockfree/queue.hpp>intmain(){ boost::lockfree::queue<int,boost::lockfree::fixed_sized<false>>queue(128); for(inti=0;i<10000;i++) queue.push(i); while(!queue.empty())

    2022年7月19日
    18
  • Ubuntu18.04 修改gcc/g++版本

    Ubuntu18.04 修改gcc/g++版本

    2020年11月8日
    171

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号