原型:extern char *strstr(const char *str1, const char *str2);

需要包含的头文件:#include <string.h>

作用:用于判断字符串str2在字符串str1中第一次出现的位置。如果没有找到则返回NULL,找到了则返回str1中的位置。

下面的代码为例:

ptr_zlib指向"zlib;compression=lz4"的首字符'z'

#include <iostream>
#include <string>
#include <string.h>int main ()
{const char *comment = "compression=zlib;compression=lz4";const char *ptr_zlib = strstr(comment, "zlib");const char *ptr_lz4 = strstr(comment, "lz4");if ((NULL != ptr_zlib) && (NULL != ptr_lz4)) {std::cout << "double compression" << std::endl;}return 0;
}结果:double compression

但是这个函数的时间复杂度比较高O(M*N),建议使用KMP算法进行查找,参考下面的这篇文章:

kmp算法_一缕阳光的博客-CSDN博客

不过这个方法返回的是一个下标。找到了返回子串在父串中第一个位置的下标,找不到返回-1

C语言库函数--strstr()相关推荐

  1. c语言中逐个检索字符的库函数,C语言库函数strstr的实现

    C语言库函数用于在字符串中查找子串.函数原型为char *(strstr)(const char *s1, const char *s2) 函数的参数是两个字符串,函数返回s2在s1中第一次出现的位置 ...

  2. C语言库函数strstr、strch

    该库函数包含在<string.h>头文件中,函数原型:extern char *strstr(char *str1, const char *str2); 使用方法 char *strst ...

  3. C语言库函数strstr查找字符串失败问题

    最近项目中使用strstr函数处理4G模块返回的字符串时,发现有时能正常查找到对应字符串,有时函数返回NULL. 0D 0A 2B 43 52 45 47 3A 20 30 2C 30 0D 0A 0 ...

  4. 【c语言】模拟库函数strstr

    // 模拟库函数strstr#include <stdio.h> #include <assert.h>const char* my_strstr(const char *pa ...

  5. (C语言)模拟实现库函数strstr()

    目录 前言 实现原理: 前言         库函数strstr():const char* strstr(const char* str1,const char* str2);strstr()求字符 ...

  6. C语言库函数大全及应用实例十四

    原文:C语言库函数大全及应用实例十四                                       [编程资料]C语言库函数大全及应用实例十四 函数名: strset 功 能: 将一个串 ...

  7. 语言库函数大全--资料收集整理

    语言库函数大全–资料收集 Turbo C 2.0 函数中文说明大全 分类函数,所在函数库为ctype.h int isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0 ...

  8. C语言库函数的模拟实现

    目录 C语言库函数的模拟实现 1.求字符串长度  ---  strlen的模拟实现 2.拷贝字符串  ---  strcpy的模拟实现 3.追加字符串  ---  strcat的模拟实现 4.比较字符 ...

  9. c语言函数库哪里keyk,[精品]C语言库函数(字母G-K)-教案.doc

    [精品]C语言库函数(字母G-K)-教案 C语言库函数(字母G-K)- - ?????????????????????????????????????? (G类字母) - 1 函数名: gcvt 功 ...

最新文章

  1. 韩国遭到日本制裁,三星被打回原形,原来是个组装工厂?
  2. java后台开发实习--第一次面试
  3. POJ 1087 -- A Plug for UNIX(最大流,建图)(文末有极限数据)
  4. Quartz框架基于Calendar的排除规则
  5. 就地过年的年轻人都去搜索“年夜饭”外卖了
  6. 酷炫的深色模式APP设计模板|2020设计潮流趋势
  7. 1011. World Cup Betting (20)——PAT (Advanced Level) Practise
  8. MASM5.0下载安装与运行第一个HelloWorld
  9. Tomcat、Servlet、Servlet容器
  10. 计算机专业如何改革创新的生力军,年轻干部如何真正成为改革创新的生力军?...
  11. java画出马里奥_基于JAVA实现的超级马里奥(Super Mario)游戏
  12. 正则表达式基本语法总结
  13. html做一个简单的网易邮箱注册
  14. 【PTA-乙级】1003-我要通过(手动感叹号)
  15. vue 中canvas 根据点画出圆滑的曲线
  16. 群晖nas安装python_为群晖DSM安装python的easy_install
  17. 多维度深入剖析QLC SSD硬件延迟的来源
  18. 媒体类型@media
  19. 使用Diskpart磁盘管理中的clean命令,误删除了移动硬盘分区后,找回分区并恢复数据方法。(U盘启动盘)
  20. Linux MySQL5.7数据库已开启安全审计功能,审计范围已覆盖每个用户,但未对重要用户行为进行审计。开启慢查询日志

热门文章

  1. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Grunt的使用简介
  2. linux命令菜鸟userdel,Linux userdel命令用法详解
  3. 应用程序无法正常启动(0x0000142)
  4. 微信小程序项目初始化配置
  5. Java程序员接单平台推荐
  6. TiggerRamDisk绕过激活锁,屏幕锁隐藏工具新增 W in7 win 10版本,支持最新 iOS16.3系统
  7. 初创企业购买企业邮箱_如何在小型初创企业中提供培训和职业发展
  8. 【python爬虫自学笔记】-----爬取网易云歌单中歌曲歌词
  9. [SDOI2017]苹果树 题解
  10. 3D位置语音,引领吃鸡游戏体验升级