strstr函数实现_popen函数

strstr函数实现_popen函数strstr(str1,str2)函数是用来判断字符串str2,是否为字符串str1的子串,若是子串,则返回第一次出现str2处的地址,若不存在子串,则返回一个空指针。#include<stdio.h>#include<assert.h>#include<string.h>intmain(){ chararr1[]=”abbbcdef”; chararr2[]=”bbc”; char*ret=strstr(arr1,arr2);

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

strstr(str1,str2)函数是用来判断字符串str2,是否为字符串str1的子串,若是子串,则返回第一次出现str2处的地址,若不存在子串,则返回一个空指针。

#include<stdio.h>
#include<assert.h>
#include<string.h>
int main()
{
	char arr1[] = "abbbcdef";
	char arr2[] = "bbc";
	char* ret = strstr(arr1, arr2);
	if (NULL == ret)
	{
		printf("找不到子串\n");
	}
	else
	{
		printf("%s\n", ret);
	}
	return 0;
}

上面的代码,abbbcdef里面是存在字符串bbc的,那么返回的是abbbcdef中b的地址,那么打印出来的也是字符串bbcdef;

模拟strstr

char* my_strstr(const char* str1, const char* str2)
{
	assert(str1 && str2);
	const char* s1 = str1;
	const char* s2 = str2;
	const char* red = str1;
	while (*red)
	{
		s1 = red;//从找到arr1的位置再次开始寻找
		s2 = str2;

		while (*s1 && *s2 && (*s1 == *s2))//当找到*s1 == *s2时候
		{
			s1++;
			s2++;
		}
		if (*s2 == '\0')
		{
			return (char*)red;//找到了arr2子串
		}
		red++;//记录arr1找到哪里了
	}
	return NULL;//没有找到字串
}
int main()
{
	char arr1[] = "abbbcdef";
	char arr2[] = "bbc";
	char* ret = strstr(arr1, arr2);
	if (NULL == ret)
	{
		printf("找不到子串\n");
	}
	else
	{
		printf("%s\n", ret);
	}
	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181739.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月15日 下午12:46
下一篇 2022年10月15日 下午1:00


相关推荐

  • PyCharm 配置设置,激活,升级等

    PyCharm 配置设置,激活,升级等PyCharm 的初始设置目标恢复 PyCharm 的初始设置第一次启动 PyCharm 新建一个 Python 项目设置 PyCharm 的字体显示 PyCharm 的升级以及其他 PyCharm 的官方网站地址是 https www jetbrains com pycharm 01 恢复 PyCharm 的初始设置 PyCharm 的配置信息是保存在用户

    2026年3月27日
    1
  • 列式存储和行式存储的理解详解

    列式存储和行式存储的理解详解列式存储和行式存储的理解详解一 列式存储和行式存储二 列式存储和行式存储优比较理解三 列式存储优势四 小结什么时候应该使用行式存储 什么时候应该使用列式存储呢 叮嘟 这里是小啊呜的学习课程资料整理 好记性不如烂笔头 今天也是努力进步的一天 一起加油进阶吧

    2026年3月18日
    2
  • codeblocks中文编码问题

    codeblocks中文编码问题其实这是老调重弹的问题了,在windows下面出现中文乱码大多都是编码格式的问题不一致的问题,最简单的就是uft-8和gbk冲突的问题。如果一个文件本来是以utf-8存的,但是以gbk打开,当然会出现乱码了。方法一:用utf-8打开文件linux中中文常用的格式是utf-8,minGW是gcc的编译器,默认是utf-8格式,但是我们打开Setting/Editor/EncodingSetting

    2022年7月26日
    8
  • 一次搞定js中的this指向

    一次搞定js中的this指向

    2021年7月6日
    84
  • add attribute什么意思_addition的用法及短语

    add attribute什么意思_addition的用法及短语Attributes.Add(“javascript事件”,”javascript语句”);如:this.TextBox1.Attributes.add(“onblue”,”window.Label1.style.backgroundColor=’#000000′;”)

    2026年4月14日
    4
  • dojo在错误隐藏表行

    dojo在错误隐藏表行

    2022年1月11日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号