函数返回一个指针,它指向字符串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;
}