模拟C函数库strstr()函数

函数返回一个指针,它指向字符串strCharSet首次出现于字符串string中的位置,如果没有找到,返回NULL。

const char * MyStrStr(const char * string, const char * strCharSet)
{
	char * p1 = const_cast<char *> (string);  //去常量性
	char * p2 = const_cast<char *> (strCharSet);
	char * pRet = NULL;
	while (*p1 != '\0')
	{
		char * ptemp1 = p1;
		char * ptemp2 = p2;
		int iCount = 0;
		if (*ptemp1 == *ptemp2) //源字符串某一字符与子串首字符相等,则检测后续字符是否与子串对应相等
		{
			while (*ptemp1 == *ptemp2 && *ptemp2 != '\0')
			{
				ptemp1++;
				ptemp2++;
				iCount++;
			}
			//若相等字符串个数等于子串长度,则匹配成功
			if (ptemp2 == p2 + iCount)
			{
				pRet = p1;
				break;
			}
		}
		++p1;
	}
	return pRet;
}


你可能感兴趣的:(c,String,null)