strstr関数の実装

STRSTR()関数は、以下の機能を実現するために、ストリングの最初のアドレスを見つけるために使用されます。

char* strstr(char * str1,char * str2)
{
	char *p1=NULL;
	char *p2=NULL;
	while(*str1)
	{
		p1=str1;
		p2=str2;
		while(*p1==*p2 && *p2!=NULL)
		{	
			p1++;
			p2++;
		}
		if(*p2==NULL)
		{
			return str1;
		}
		str1++;
	}
	
	return NULL;
}

テストケース:

#include<stdio.h>
#include<string.h>
char* strstr(char * str1,char * str2);
int main()
{
	char *str1="accdef";
	char *str2="cde";
	printf("%0x",strstr(str1,str2));
	
}
char* strstr(char * str1,char * str2)
{
	char *p1=NULL;
	char *p2=NULL;
	while(*str1)
	{
		p1=str1;
		p2=str2;
		while(*p1==*p2 && *p2!=NULL)
		{	
			p1++;
			p2++;
		}
		if(*p2==NULL)
		{
			return str1;
		}
		str1++;
	}
	
	return NULL;
}

テスト結果:

公開された33元の記事 ウォン称賛30 ビュー20000 +

おすすめ

転載: blog.csdn.net/baidu_15547923/article/details/100764049