strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )
strstr()函数用于:查找子字符串
目录
函数介绍
用法示例
函数讲解
实现函数
事例展示
函数介绍
函数声明:char *strstr(const char *str1, const char *str2)
头 文 件:#include <string.h>
返 回 值: 返回值为char * 类型( 返回指向 str1 中第一次出现的 str2 的指针);如果 str2 不是 str1 的一部分,则返回空指针。
用法示例
#include <stdio.h>
#include <string.h>
int main()
{char str[] = "This is a simple string";char* pch;pch = strstr(str, "simple");if (pch != NULL)strncpy(pch, "sample", 6);puts(str);return 0;
}
函数讲解
实现函数
char* My_strstr(const char* str1, const char* str2)
{assert(str1 && str2);const char* s1 = str1;const char* s2 = str2;const char* p = str1;while (*p!='\0'){s1 =p ;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){return (char*)p;}p++;}return NULL;
}
事例展示
#include <stdio.h>
#include <string.h>
#include<assert.h>
char* My_strstr(const char* str1, const char* str2)
{assert(str1 && str2);const char* s1 = str1;const char* s2 = str2;const char* p = str1;while (*p!='\0'){s1 =p ;s2 = str2;while (*s1 != '\0' && *s2 != '\0' && *s1 == *s2){s1++;s2++;}if (*s2 == '\0'){return (char*)p;}p++;}return NULL;
}
int main()
{char str[] = "This is a simple string";char* pch;pch = My_strstr(str, "simple");if (pch != NULL)strncpy(pch, "sample", 6);puts(str);return 0;
}
strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )相关推荐
- strtok函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用)
strtok()函数用于: 将字符串拆分为标记 函数介绍 函数声明:char * strtok ( char * str, const char * delimiters ); 头 文 件:#in ...
- memmove函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 )
memmove()函数用于:移动内存块 函数介绍 函数声明:void * memmove ( void * destination, const void * source, size_t num ) ...
- strncpy函数详解看这一篇就够了-C语言(函数实现、使用用法举例、与strcpy的区别)
首先要明确strncpy的功能是:拷贝src字符串的前n个字符至dest 目录 函数介绍 与strcpy的区别 函数实现: 用法示例: 结果展示: 函数介绍 函数原型: char *strncpy(c ...
- strcat函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strncat的区别)
首先要明确strcat的功能是:将参数dest字符串和参数src字符串拼接起来 目录 函数介绍 与strncat的区别 函数实现: 用法示例: 结果展示: 函数介绍 函数原型:char* strcat ...
- memcpy函数详解 看这一篇就够了-C语言(函数讲解、 使用用法举例、作用)
memcpy()函数用于:复制内存块 函数介绍 函数声明:void * memcpy ( void * destination, const void * source, size_t num ); ...
- strerror函数详解 看这一篇就够了-C语言(函数讲解、 使用用法举例、作用)
strerror()函数用于:获取指向错误消息字符串的指针 函数介绍 函数声明: char * strerror ( int errnum ); 头 文 件:#include <string ...
- strncmp函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strcmp的区别)
首先要明确strncmp的功能是:用来比较指定长度两个字符串的大小 目录 函数介绍 与strcmp的区别 ACSII表 函数实现: 用法示例: 结果展示: 函数介绍 函数原型:int strncmp( ...
- strncat函数详解看这一篇就够了-C语言(函数实现、使用用法举例、作用、与strcat的区别)
首先要明确strncat的功能是:从字符串src的开头拷贝n个字符到dest字符串尾部 目录 函数介绍: 与strcat的区别 函数实现: 用法示例: 结果展示: 函数介绍: 函数原型:char* s ...
- 代理后台中间件_Golang Gin 实战(十三)| 中间件详解看这一篇就够了
6000字大章带你死磕Golang Gin中间件 在Gin的整个实现中,中间件可谓是Gin的精髓.一个个中间件组成一条中间件链,对HTTP Request请求进行拦截处理,实现了代码的解耦和分离,并且 ...
最新文章
- 后bat时代,字节未来超越at也不是没可能
- 经常使用的MySQL语句整理
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之76——BREW中的安全性网络编程...
- 你真的会玩SQL吗?内连接、外连接
- Flask框架(1.flask概述,Windows配置 virtualenv虚拟环境步骤和路由以及视图函数的定义)
- undefined: resolver.BuildOption undefined: resolver.ResolveNowOption 报错的解决办法
- mybatisplus执行sql语句_一条更新的SQL语句是如何执行的?
- Final Michael Scofield
- linux gd结构体,U-Boot中gd的定义和使用
- 采访前高级软件工程课程学员付浩同学,及Scrum总结阅读感想
- 4.0之后的hibernate获取sessionFactory
- Jdk1.6 JUC源码解析(12)-ArrayBlockingQueue
- python的作用域分别有几种_Python作用域和命名空间
- 国军标GJB150.8A-2009淋雨试验第三方检测机构
- oracle 建表sql语句,oracle 建表sql语句
- dpkg: 依赖关系问题使得 sdkmanager 的配置工作不能继续: sdkmanager 依赖于 libgconf-2-4;然而: 未安装软件包 libgconf-2-4。 [已解决]
- 小菜鸟学浏览器之感悟
- 高通,MTK,紫光展锐 CPU超大核,大核,小核分布查询 以及绑定
- 基于脚手架 3 分钟搞定 SpringBoot 后端管理项目
- 【Verilog七段译码器】