strstr实现

转自:http://zhidao.baidu.com/question/99878820.html

char* _cdecl strstr(const char* str1,const char* str2)
{
	//这样得到的其实是这个数组的第一个字符
	//而不是整个字符串。
	char *cp = (char *)str1;
	char *s1,*s2;

	if(!*str2)
		return((char *)str1);
	//'\0'就是NULL
	while (*cp)
	{
		s1 = cp;
		s2 = (char *)str2;

		while (*s1&&*s2&&!(*s1-*s2))
		{
			s1++;
			s2++;
		}

		if(!*s2)
			return(cp);

		cp++;
	}
	return NULL;
}


 

你可能感兴趣的:(null)