strstr函数详解 看这一篇就够了-C语言(函数讲解、函数实现、使用用法举例、作用、自己实现函数 ) strstr()函数用于:查找子字符串

 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!='')
	{
		s1 =p ;
		s2 = str2;
		while (*s1 != '' && *s2 != '' && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '')
		{
			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!='')
	{
		s1 =p ;
		s2 = str2;
		while (*s1 != '' && *s2 != '' && *s1 == *s2)
		{
			s1++;
			s2++;
		}
		if (*s2 == '')
		{
			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;
}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>