void str_run(char *primary_str, char *lookup_str, char* replace_str, char* new_str)
{ //功能是在primary_str中查找lookup_str, 找到lookup_str则替换成replace_str, 否则不替换, 返回新的new_str
int cn = 0, cL = 0;
char *pPstr = primary_str, *pLstr = lookup_str, *pRstr = replace_str, *pNew_str = new_str;
for( ; pLstr[cL] != '\0' ; ++cL); //查找字符串pLstr的长度cL
while(*pPstr != '\0')
{ //在primary_str中查找lookup_str, 记录匹配的长度cn
for(pLstr = lookup_str, cn = 0 ; (*(pPstr+cn) == *pLstr) && *pLstr != '\0' ; ++cn, ++pLstr);
if(cn == cL) //如果在primary_str中找到lookup_str, 则将lookup_str替换成replace_str
for(pRstr = replace_str, pPstr = pPstr+cL ; *pRstr != '\0' ; *pNew_str++ = *pRstr++);
else //如果没有找到lookup_str,则不替换
*pNew_str++ = *pPstr++;
}
}
本人擅长写特殊函数,优化程序代码,但是现在还是新人,就是思路跟别人不一样而已!