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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • php开源的客服系统_在线客服源码php

    php开源的客服系统_在线客服源码php在线客服系统软件使开发和运营团队能够高速协作,因此要求源码系统能够快速响应业务变化,并快速提供出色的客户和员工服务体验。  在线客服源码演示及获取:https://gitee.com/wang_li989/kfxt  客服沟通问题加起来会成为重大的财务损失。您的组织快速有效地解决这些问题的能力直接影响到未满足的SLA义务和客户体验,这两个方面对公司的成功至关重要。在线客服系统是企业战略的核心组成部分。通过减少识别和解决问题所需的时间,您的组织可以提高客户忠诚度,最大限度地延长正常运行时间,并提供始终如

    2022年4月19日
    52
  • python psutil模块查找进程_python模块 – psutil「建议收藏」

    python psutil模块查找进程_python模块 – psutil「建议收藏」一、psutil模块:1.psutil模块简介他是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。它实现了同等命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice…

    2022年5月4日
    43
  • form 为什么上传文件enctype现场

    form 为什么上传文件enctype现场

    2022年1月11日
    40
  • android跳转到相册需要权限,Android打开相册获取图片路径[通俗易懂]

    android跳转到相册需要权限,Android打开相册获取图片路径[通俗易懂]一.获得图片路径当我们通过Intent打开相册,获取图片后,在onActivityResult回调中会得到图片的Uri。但是Uri无法直接获得图片的路径。如果你曾经直接操作过android里的数据库的话,应该明白,Uri可以通过ContentResolver获得数据库表里的数据。例如:content://com.android.providers.media.documents/document/…

    2022年9月22日
    7
  • 用Python进行web开发需要学习什么?「建议收藏」

    第一步:HTMLHTML是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。  随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。  涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。  利用HTML和CSS模拟一些你所见过的网站的排版和布局(色彩,图片,文字样式等等)。第二步:学习javascript,了解DOMJavaScript是一种能让你的网页更加生动活泼的程序语言。学习JavaScr

    2022年4月11日
    39
  • 人脸对齐:DCNN级联关键点检测2013

    人脸对齐:DCNN级联关键点检测2013近期学习关键点检测相关内容,基于CNN的方法已经替代以往经典的方法(ASM,AAM等),于是乎得看看CNN是如何应用到关键点检测上的。创新点: 1.将CNN应用到人脸关键点检测当中 2.提出级联CNN,这个级联CNN的level-1有一个非常重要的作用,就是解决了传统人脸关键点检测时都会遇到的一个问题——关键点初始化,传统参数化方法(ASM,AAM等)若初始化不当,容易陷入局部最优。 虽然作者没…

    2022年5月6日
    46

发表回复

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

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