当前位置: 首页 > news >正文

建设 展示型企业网站河北智慧团建网站登录

建设 展示型企业网站,河北智慧团建网站登录,搜索引擎下载安装,镇江网站开发目录 一,strstr函数简介 二,strstr函数实现原理 三,strstr函数的用法 四,strstr函数的注意事项 五,strstr函数的模拟实现 一,strstr函数简介 strstr函数是在一个字符串中查找另一个字符串的第一次出现&…

目录

一,strstr函数简介

二,strstr函数实现原理

三,strstr函数的用法

四,strstr函数的注意事项

五,strstr函数的模拟实现


一,strstr函数简介

strstr函数是在一个字符串中查找另一个字符串的第一次出现,并返回该位置的指针,如果找不到,则返回NULL

🍂函数头文件: 

#include <string.h>

 🍂函数原型:

const char * strstr ( const char * str1, const char * str2 );

 str1:被查找的目标字符串

 str2:要查找的对象字符串

二,strstr函数实现原理

strstr函数的实现可以通过遍历字符串的方式来查找str2字符串的出现位置。

1,遍历str1字符串,逐个字符与str2字符串进行比较。

2,如果str1字符串的当前字符与str2字符串的第一个字符相等,则继续比较后续字符。

3,如果str1字符串中的连续字符str2字符串完全匹配,则返回该位置的指针。

4,如果str1字符串遍历完毕仍未找到匹配,则返回NULL。 

三,strstr函数的用法

#include <stdio.h>
#include <string.h>int main()
{char str1[] = "hello world!";char str2[] = "world!";char* ret = strstr(str1, str2);if (ret == NULL)printf("找不到!\n");elseprintf("%s\n", ret);return 0;
}

🎈运行结果: 

🎈释义: 

上述代码中,我们在字符串"hello world!"中查找字符串"world!"的第一次出现,并打印位置。如果找到了,则打印出从第一次找到的那个位置开始后面的所有字符;如果未找到,则打印“找不到”。

四,strstr函数的注意事项

在使用strstr函数时,需要注意以下几点:

1,函数返回的指针指向的是str1字符串中匹配到的位置,因此可以通过指针的偏移量来得到具体的位置。

#include <stdio.h>
#include <string.h>int main()
{char str1[] = "hello world!";char str2[] = "world!";char* ret = strstr(str1, str2);if (ret == NULL)printf("找不到!\n");elseprintf("%d\n", ret - str1);return 0;
}

 🎈运行结果: 

 🎈释义:

上述代码中,我们在字符串str1中查找字符串str2的第一次出现,并打印位置。如果找到了,则打印出位置的偏移量;如果未找到,则打印“找不到”。

2,如果需要查找字符串的最后一次出现,可以配合使用strstr函数。

3,函数的参数str1和str2都应该是以'\0'结尾的字符串,否则可能会导致不可预料的结果。 

五,strstr函数的模拟实现

#include <stdio.h>
#include <string.h>
#include <assert.h>const char* my_strstr(const char* str1, const char* str2)
{const char* cp;//记录开始匹配的位置const char* s1;//遍历str1指向的字符串const char* s2;//遍历str2指向的字符串assert(str1 && str2);//处理空指针的情况if (*str2 == '\0')//如果str2为空字符串,则返回str1return str1;cp = str1;while (*cp){s1 = cp;s2 = str2;while (*s1 && *s2 && *s1 == *s2)//在str1中找到str2的第一个字符{s1++;s2++;}if (*s2 == '\0')//如果找到了str2的所有字符,则返回该位置的指针return cp;cp++;//否则,继续在str1中寻找下一个可能的位置}return NULL;//如果未找到匹配的位置,则返回NULL
}int main()
{char str1[] = "hello world!";char str2[] = "world!";const char* ret = my_strstr(str1, str2);if (ret == NULL)printf("找不到!\n");elseprintf("%s\n", ret);return 0;
}
http://www.yayakq.cn/news/875219/

相关文章:

  • 全网营销推广网站建设网站的容量
  • 有模板怎么建站中国能源建设集团有限公司是什么级别
  • 太原网站建设tygytc健身网站建设
  • 临清网站开发网站服务合同用交印花税吗
  • 做h5网站设计百度的相关搜索
  • 个人如何做网站推广wordpress删除仪表盘
  • 同城配送网站建设廊坊seo排名公司
  • 陕西建设厅网站电商网站建设方式
  • 网站上做树状框架图用什么软件for和wordpress
  • 站长之家查询网站大连市建设市场综合管理平台
  • 石家庄网站app制作河南省建筑市场一体化平台
  • 东莞网站推广策划活动山西新闻头条最新消息
  • 网站建设前期规划方案出口贸易网站
  • 火炬开发区网站建设wordpress整合jwplayer
  • 中科宁波网站建设旅游网站建设受众分析
  • 如何登陆网站服务器餐饮系统的网站应该怎么做
  • 忻州市住房城乡建设局网站如何保护网站名
  • md5加密网站网站虚拟主机租用
  • 做投资理财网站亚马逊云搭建WordPress
  • 延吉网站建设彩票江苏股票配资网站建设
  • 用户界面设计原则软件开发工具郑州官网seo技术
  • 技术支持海安网站建设网站关键词优化公司哪家好
  • 做网站需要什么技能自己设计图片
  • 网站建设竣工验收报告WordPress电影网
  • 网站优化课程网站建设的主要情况说明
  • 成都青羊区网站建设腾讯企业邮箱手机版app
  • 网站建设什么原因最主要广西网站建设网址
  • 网站建设vipjiuselu做的网站图片显示一半
  • 湛江网站设计公司地址建设法规网站
  • 外贸网站推广方法之一网站建设与实训