[C语言]strstr函数的使用和模拟实现

1.strstr函数的使用

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

返回一个指向str1中str2第一次出现的指针,如果str2中没有str1则返回 NULL。。

实例:

#include <stdio.h>
#include <string.h>
int main()
{
	char str[] = "zhangsan lisi wanger";
	char* pch;
	pch = strstr(str, "lisi");
	puts(pch);
	return 0;
}

运行结果:

2.strstr函数的模拟实现

char* my_strstr(const char* str1, const char* str2)
{
	char* cp = (char*)str1;
	char* s1, * s2;
	if (!*str2)
		return((char*)str1);
	while (*cp)
	{
		s1 = cp;
		s2 = (char*)str2;
		while (*s1 && *s2 && !(*s1 - *s2))
			s1++, s2++;
		if (!*s2)
			return(cp);
		cp++;
	}
	return(NULL);
}
int main()
{
	char str[] = "zhangsan lisi wanger";
	char* pch;
	pch = my_strstr(str, "lisi");
	puts(pch);
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911007.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文速读】| RePD:通过基于检索的提示分解过程防御越狱攻击

基本信息 原文标题&#xff1a;RePD: Defending Jailbreak Attack through a Retrieval-based Prompt Decomposition Process 原文作者&#xff1a;Peiran Wang, Xiaogeng Liu, Chaowei Xiao 作者单位&#xff1a;University of Wisconsin–Madison 关键词&#xff1a;越狱…

React 前端通过组件实现 “下载 Excel模板” 和 “上传 Excel 文件读取内容生成对象数组”

文章目录 一、Excel 模板下载01、代码示例 二、Excel 文件上传01、文件展示02、示例代码03、前端样式展示04、数据结果展示 三、完整代码 本文的业务需求是建立在批量导入数据的情况下&#xff0c;普通组件只能少量导入&#xff0c;数据较多的情况都会选择 Excel 数据导入&…

基于YOLOv8 Web的安全帽佩戴识别检测系统的研究和设计,数据集+训练结果+Web源码

摘要 在工地&#xff0c;制造工厂&#xff0c;发电厂等地方&#xff0c;施工人佩戴安全帽能有效降低事故发生概率&#xff0c;在工业制造、发电等领域需要进行施工人员安全帽监测。目前大多数的 YOLO 模型还拘泥于公司、企业开发生产的具体产品中&#xff0c;大多数无编程基础…

内部知识库:优化企业培训流程的关键驱动力

在当今快速变化的商业环境中&#xff0c;企业培训的重要性日益凸显。内部知识库作为整合、管理和分享企业内部学习资源的关键工具&#xff0c;正逐步成为优化企业培训流程的核心。以下将探讨内部知识库如何通过多种功能&#xff0c;助力企业提升培训效率、质量和员工满意度。 …

TapData 发布官方性能测试报告,针对各流行数据源,在多项指标中表现拔群

近日&#xff0c;TapData 官方发布了最新的性能测试报告&#xff0c;该报告详细展示了 TapData v3.5.13 在各种数据源下的性能表现&#xff0c;包括全量同步、增量同步、读写延迟等关键性能指标。 随着企业对实时数据集成和处理能力需求的提升&#xff0c;TapData 凭借其高效、…

JDK1.5 java代码打包jar HmacSha256

文章目录 demo地址背景实现编写代码编译class文件打包 JAR 文件执行生成的 JAR 文件辅助验证方式 常见问题和解决方法常规生成jar方案maven插件idea工具 demo地址 https://github.com/xiangge-zx/HmacSha256 背景 最近接到一个需求,做一个可以用来HmacSha256加密的小工具&am…

【Python TensorFlow】进阶指南

在前文中&#xff0c;我们介绍了TensorFlow的基础知识及其在实际应用中的初步使用。现在&#xff0c;我们将进一步探讨TensorFlow的高级特性&#xff0c;包括模型优化、评估、选择、高级架构设计、模型部署、性能优化等方面的技术细节&#xff0c;帮助读者达到对TensorFlow的精…

Vue实现登录功能

一、Vue登录逻辑梳理&#xff1a; 1、登录流程&#xff1a; 用户在前端输入用户名和密码&#xff0c;点击登录按钮。 登录成功后的逻辑&#xff1a; 主要功能和流程&#xff1a; 异步函数 signInSuccess&#xff1a;这是一个异步函数&#xff0c;使用了 async 关键字&#xff…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用&#xff0c;用户可以设置倒计时时间并开始计时。当倒计时结束时&#xff0c;应用会显示提醒。该项目涉及时间控制、状态管理和用户交互&#xff0c;是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

(62)使用RLS自适应滤波器进行系统辨识的MATLAB仿真

文章目录 前言一、基本概念二、RLS算法原理三、RLS算法的典型应用场景四、MATLAB仿真代码五、仿真结果1.滤波器的输入信号、参考信号、输出信号、误差信号2.对未知系统进行辨识得到的系数 总结与后续 前言 RLS&#xff08;递归最小二乘&#xff09;自适应滤波器是一种用于系统…

Oracle 12C安装教程

Oracle 12c&#xff0c;全称Oracle Database 12c&#xff0c;是Oracle 11g的升级版&#xff0c;新增了很多新的特性。 Oracle 12c下载 打开Oracle的官方中文网站&#xff0c;选择相应的版本即可。 下载地址&#xff1a;http://www.oracle.com/technetwork/cn/database/enterp…

探索空间计算与 VR 设备的未来:4K4DGen 高分辨率全景 4D 内容生成系统

在当今科技飞速发展的时代,空间计算和 VR 设备正逐渐成为人们体验沉浸式场景的重要工具。而今天,我们要为大家介绍一款具有创新性的技术 ——4K4DGen 高分辨率全景 4D 内容生成系统,它为 VR/AR 沉浸式体验带来了全新的可能性。 一、项目概述 4K4DGen 项目的核心目标是实现 …

【无标题】项目管理软件:日常任务管理,TODO任务清单

无论是在工作、学习还是个人事务的处理上&#xff0c;我们都面临着众多的任务和事项。而 TODO 任务管理&#xff0c;可以帮助我们高效、有序的完成工作任务。 TODO 任务管理的重要性&#xff1a; TODO 任务管理不仅仅是简单地列出要做的事情&#xff0c;它是一种系统性的方法…

数据库中的用户管理和权限管理

​ 我们进行数据库操作的地方其实是数据库的客户端&#xff0c;是我们在客户端将操作发送给数据库的服务器&#xff08;MySQL的服务器是mysqld&#xff09;&#xff0c;由数据库处理之后发送回来处理结果&#xff08;其实就是一种网络服务&#xff09;。所以可以存在多个客户端…

HTML 块级元素和内联(行内)元素详解

在 HTML 中,元素根据它们在页面中的表现方式分为两类:块级元素 和 内联元素(行内元素)。了解块级元素和内联元素的特性与使用方法,是掌握HTML开发的重要基础。本文将深入探讨这两类元素的特点及其在实际开发中的应用。 文章目录 一、块级元素1.1 块级元素是什么?1.2 块级…

科研绘图系列:R语言差异分析双侧柱状图(grouped barplot)

文章目录 介绍加载R包数据画图系统信息介绍 双侧柱状图(grouped barplot),也称为分组柱状图,是一种用于展示不同组别之间比较的数据可视化图表。它通过将不同组别的柱状图并排放置,可以直观地比较不同组在各个类别上的表现或特征。以下是双侧柱状图的一些关键特点和用途:…

【数据结构】哈希/散列表

目录 一、哈希表的概念二、哈希冲突2.1 冲突概念2.2 冲突避免2.2.1 方式一哈希函数设计2.2.2 方式二负载因子调节 2.3 冲突解决2.3.1 闭散列2.3.2 开散列&#xff08;哈希桶&#xff09; 2.4 性能分析 三、实现简单hash桶3.1 内部类与成员变量3.2 插入3.3 获取value值3.4 总代码…

Go语言基础语法

一、创建工程 说明&#xff1a; &#xff08;1&#xff09;go.mod文件是go项目依赖管理文件&#xff0c;相当于前端的package.json&#xff0c;也就是Java项目中的Maven的pom.xml。 二、打印数据到控制台 &#xff08;1&#xff09;引入fmt &#xff08;2&#xff09;使用fmt…

class com.alibaba.fastjson2.JSONObject cannot be cast to class com.ruoyi.sys

class com.alibaba.fastjson2.JSONObject cannot be cast to class com.ruoyi.sys ry-cloud报错原因解决 ry-cloud 报错 系统监控→在线用户打开后报错 报错信息如下 class com.alibaba.fastjson2.JSONObject cannot be cast to class com.ruoyi.sys原因 type导致&#xff…

用 Python 从零开始创建神经网络(一)

用 Python 从零开始创建神经网络&#xff08;一&#xff09; 引言1. A Single Neuron&#xff1a;Example 1代码部分&#xff1a; Example 2代码部分&#xff1a; 2. A Layer of Neurons&#xff1a;Example 1代码部分&#xff1a; 引言 本教程专为那些对神经网络已有基础了解…