首页 > 其他分享 >数据解析常用命令1——strstr

数据解析常用命令1——strstr

时间:2024-03-04 10:33:05浏览次数:21  
标签:解析 strstr printf 母串 char 常用命令 字符串 include

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

头文件

<string.h>

函数作用:

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

函数原型:

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

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

#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

2. 用于单次匹配
返回的是子串在母串的位置

#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

3. 用于多次匹配知道母串结束
记录子串在母串中出现的次数

#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://blog.csdn.net/qq_43419016/article/details/89159794

 

标签:解析,strstr,printf,母串,char,常用命令,字符串,include
From: https://www.cnblogs.com/helloword-2022/p/18051313

相关文章

  • Git常用命令,merge和rebase的区别
    简介-Merge和Rebase在Git中,rebase和merge是两种常用的将一个分支的更改合并到另一个分支的方法。Merge(合并):当你执行merge时,Git会创建一个新的提交,将两个分支的更改合并在一起。这个新的提交会有两个父提交,代表了被合并的两个分支的历史。Merge会保留每个分支上的提交......
  • 【C++ STL容器set 】std::set 的全方位解析
    装载自知乎(虽然有AI辅助操作,但是确实写得好好):【C++STL容器set】std::set的全方位解析-知乎(zhihu.com)<imgsrc="https://pic3.zhimg.com/v2-cc8068b8931c7f65e9a89717e2ab404e_b.jpg"data-size="normal"data-rawwidth="1024"data-rawheight="1024......
  • CAS解析
    目录什么是CAS应用场景以AtomicInteger为例,分析在Java中如何利用CAS实现原子操作的Unsafe类Unsafe类中的compareAndSwapInt缺点什么是CAS应用场景:并发我认为V的值应该是A,如果是的话,那我就把它修改成B,如果不是A(说明被别人修改过了),那我就不修改了,避免多人同时操作导致出错......
  • pod常见的非故障及故障状态解析
    在Kubernetes中,Pod的状态可以反映其当前的生命周期状态、是否正常运行或遇到了某些状况。以下是一些Pod常见的非故障状态:Running:这是Pod最常见的非故障状态,表示Pod已经成功调度到了一个节点上,并且其中所有的容器都已经被成功创建,至少有一个容器正在运行。Succeeded:这个状态通常......
  • [详解-vector] C++必知必会 vector常用各种操作解析
    原文转载自知乎:https://zhuanlan.zhihu.com/p/648650828vector是C++标准库中的一个动态数组容器,它可以自动管理内存大小,可以在运行时根据需要动态增长或缩小。它是一个非常常用且强大的容器,用于存储一系列元素。下面详细介绍vector的使用方法,并提供相应的代码案例。1.包含......
  • python接口自动化系列(06):解析初始化sql
     本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/18033074实现目标将initSql中常用变量占位符(下图划线的)替换为实际值。 添加替换变量工具模块substitution_tool.py#!/usr/bin/envpython#-*-coding:utf-8-*-#@Author:韧#@wx:ren168632201#@Bl......
  • 问题:图片解析后url路径解析发生改变
    背景:解析站长素材首页的图片看程序执行在我执行完程序之后显示爬取成功但是并没有爬取到图片找错过程把settings中的LOG_LEVEL="ERROE"改成WARNING 就发现了警告信息于是我又进行输出url发现了本身爬取的url没有问题但是用Request解析的时候就发现了解析错了就......
  • Modbus字节序说明-汇川PLC用littly endine byte swap【低位优先传输且反序】 解析寄存
    Modbus字节序说明-汇川PLC用littlyendinebyteswap解析寄存器最近做ModBusTCP方面的测试有点多,尽管对于ModBus协议算是比较了解了,也经常知道字节传输序列的不同对工程师带来了很多不必要的麻烦,这不是一个技术难题,仅仅只是过去各家各户开发遗留下来的标准统一问题,所以这里写下......
  • mainCRTStartup 函数解析
    mainCRTStartup函数解析 操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点由连接程序设置,不同的连接器选择的入口函数也不尽相同。在VC++下,连接器对控制台程序设置的入口函数是mainCRTStartup,mainCRTStartup再调用main函数 mainCRTStartu......
  • scrapy—图片解析(图片懒加载)
    笔记-图片数据爬取之ImagesPipeline-基于scrapy爬取字符串类型的数据和爬取图片类型的数据区别?-字符串:只需要基于xpth进行解析且提交管道进行持久化存储-图片:xpath解析出图片src属性值。单独的对图片地址发起请求获取图片二进制类型的数据-Imag......