题目:实现一个函数,将字符串的每一个空格替换成 %20 ,例如 “we are happy.” ,则输出 “we%20are%20happy.”
解法一:一般的解法,开辟一个新的数组pDes,就是逐个字符的将源数组中的字符拷贝到新数组,遇到空格就替换为 %20,直到字符串末尾为止。
void Instead(const char *strSrc, char *strDes)
{
assert(strSrc!=NULL && strDes!=NULL);
char *pDes;
const char *pSrc;
pDes = strDes;
pSrc = strSrc;
while (*pSrc != '\0')
{
if (*pSrc != ' ')
{
*pDes++ = *pSrc;
}
else
{
memcpy(pDes,"%20",3);
pDes += 3;
}
pSrc++;
}
*pDes = '\0';
}