C语言strstr函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
C语言函数
1
|
extern char * strstr ( char *str1, const char *str2);
|
1
|
* strstr (str1,str2)
|
1
2
3
|
char str[]= "1234xyz" ;
char *str1= strstr (str, "34" );
cout << str1 << endl;
|
函数实现
1
2
3
4
5
6
7
8
9
10
11
12
|
char * strstr ( const char *s1, const char *s2)
{
int len2;
if (!(len2= strlen (s2))) //此种情况下s2不能指向空,否则strlen无法测出长度,这条语句错误
return ( char *)s1;
for (;*s1;++s1)
{
if (*s1==*s2 && strncmp (s1,s2,len2)==0)
return ( char *)s1;
}
return NULL;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
char * strstr (constchar*s1,constchar*s2)
{
int n;
if (*s2)
{
while (*s1)
{
for (n=0;*(s1+n)==*(s2+n);n++)
{
if (!*(s2+n+1))
return ( char *)s1;
}
s1++;
}
return NULL;
}
else
return ( char *)s1;
}
|
1
2
3
4
5
6
7
8
9
10
11
|
char * strstr ( const char *s1, const char *s2)
{
const char *p=s1;
const size_tlen= strlen (s2);
for (;(p= strchr (p,*s2))!=0;p++)
{
if ( strncmp (p,s2,len)==0)
return ( char *)p;
}
return (0);
}
|
应用举例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <syslib.h>
#include <string.h>
main()
{
char *s= "GoldenGlobalView" ;
char *l= "lob" ;
char *p;
clrscr();
p= strstr (s,l);
if (p)
printf ( "%s" ,p);
else
printf ( "NotFound!" );
getchar ();
return0;
}
|
1
2
3
4
5
6
7
|
char *s=”string1onexxxstring2oneyyy”;
char *p;
p= strstr (s,”yyy”);
if (p!=NULL)
printf (“%s”,p);
else
printf ( "notfound\n" );
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
char *mystrstr( char *s1, char *s2)
{
if (*s1==0)
{
if (*s2)
return ( char *)NULL;
return ( char *)s1;
}
while (*s1)
{
int i=0;
while (1)
{
if (s2[i]==0)
return s1;
if (s2[i]!=s1[i])
break ;
i++;
}
s1++;
}
return ( char *)NULL;
}
|
C语言strstr函数相关推荐
- C语言 strstr函数的用法及模拟实现strstr函数
C语言 strstr函数的用法及模拟实现strstr函数 一.strstr函数的用法 二.模拟实现strstr函数的功能 一.strstr函数的用法 1.strstr函数原型:char* strstr ...
- C语言strstr()函数使用注意事项
最近在写一段C语言代码时用到了strstr()函数,遇到了一个意想不到的问题,记录一下. 这个函数接收两个参数,strstr(str1,str2)函数具体功能是检测str2是否为str1的子集,如果是 ...
- C语言strstr()函数(在主字符串里查找子字符串,返回第一次找到的子字符串以及后面的字符串)
需包含头文件:C 标准库 - <string.h> 文章目录 描述 声明 参数 返回值 实例 描述 C 库函数 char *strstr(const char *haystack, con ...
- C语言strstr函数实现
自己实现C语言中的strstr函数,采用字符一个一个进行匹配,如果不等,则从下一个位置进行匹配. /* strstr 实现 */ char* mystrstr(const char* dest, co ...
- C语言strstr()函数用法-字符串查找
1.函数定义 strstr()函数是一个参数为两个字符指针类型,返回值是char*类型的函数. 用于找到子串(str2)在一个字符串(str1)中第一次出现的位置(不包括str2的串结束符),并返回该 ...
- C语言 strstr()函数介绍
前言 C语言中,strstr()函数用于找到子串在一个字符串中第一次出现的位置,在string.h头文件中. 例如:char *strstr(const char *str1, const char ...
- strstr函数实现(C语言)
strstr函数实现(C语言) second60 20180601 strstr 用来字符串查找子串. 顺便说一下, 字符串操作函数是C语言中非常重要的函数,里面包括了指针的精华,同时对学习数据结构 ...
- C语言字符串函数(3)strstr,strtok函数的详解
上一期,我讲解了关于字符串函数中,受限制的字符串函数,有想了解的小伙伴们可以点此链接去看看:C语言字符串函数(2)受限制的字符串函数 那么今天,我来讲一讲标题中这两个函数的作用和使用方法. 目录 一. ...
- strstr函数头文件_C语言(函数)学习之strstr strcasestr
一.strstr函数使用 [1] 函数原型 char *strstr(const char *haystack, const char *needle); [2] 头文件 #include [3] 函 ...
最新文章
- 单片机彩灯移动实验_用S7-1200 PLC实现循环彩灯的控制,含源程序
- R语言ggplot2可视化按照因子排序(order of facets)可视化分组多子图(facet、面图)实战
- iphone修改html样式,html – iphone在输入上覆盖我的所有样式[type =“submit”]
- centos mysql 端口_Linux CentOS Mysql修改默认端口
- excel三次样条函数_日常系列2:二次和三次函数样条、数据的插值
- Java死锁故障排除和解决
- 【LeetCode笔记】剑指Offer 37. 序列化二叉树(Java、二叉树、序列化、BFS、队列)
- java 安卓调试_【转】Android 调试技术
- 想当年,我也是斩获20+大厂offer的收割机!
- diff算法_[VUE学习]徒手撸一个虚拟dom+diff算法
- vue.3.0 dom赋值_Vue 3.0 快速入门
- sd-card on android 5.0,Android5.0以上SDCard文件删除问题
- php类最大多少行合适,计算最大包大小(PHP)
- Git 分支 - 分支的新建
- JAVA 经纬度转换成直角坐标系,以及直角坐标系转换成经纬度算法
- 京东、阿里:健康版图再博弈
- office产品密钥如何找回
- matlab 通过矩阵变换使图像旋转平移_28. 图像扭曲
- 计算机word保存如何操作,如何保存WORD文档内容???急
- HTTP浏览器输入URL后发生了什么