一、C语言str族函数strchr、strstr实现
1.C语言strchr()函数实现算法
char* StringChr(char *pSource, char c)
{
while (*pSource)
{
if (*pSource == c)
return pSource;
++pSource;
}
return NULL;
}
2.C语言strstr()函数实现算法
char* StringSubStr(char *pSource, char* subStr)
{
char* pBegin = subStr;
char* pS = pSource;
while (*pSource)
{
if (*pSource == *pBegin)
{
pS = pSource;
while (*subStr&&*pSource==*subStr)
{
++subStr;
++pSource;
}
if (*subStr == '\0')
return pS;
pSource = pS;
subStr = pBegin;
}
++pSource;
}
return NULL;
}
二、C语言内存族函数memset、memcpy实现
1.C语言memset()函数实现算法
void Memset(void* dest, char c, int nCount)
{
char* p = (char*)dest;
int i = 0;
while (i < nCount)
p[i++] = c;
}
2.C语言memcpy()函数实现算法
void MemCpy(void* pDest, void* pSource, int nCount)
{
char* pDst = (char*)pDest;
char* pSrc = (char*)pSource;
int i = 0;
while (i++<nCount)
*pDst++ = *pSrc++;
}