emmm… 很久以前写的,现在发表出来
将a字符串中的所有b字符串替换成c字符串的函数如下:
void strReplace(char a[], char b[], char c[])
{
int i, locate = 0, len1 = 0, len2 = 0, len3 = 0, flag;
while (b[len2++]); len2--;//获取字符串长度
while (c[len3++]); len3--;
while (a[locate])
{
flag = 1;
for (i = 0; i < len2; i++)
{
if (a[locate + i] != b[i])
{
flag = 0;
break;
}
}
if (flag == 1)
{
while (a[len1++] != 0); len1--;
if (len3 - len2 >= 0)
{
for (i = len1 - 1; i > locate; i--)
{
a[i + len3 - len2] = a[i];
}
}
else
{
for (i = locate + len2; i < len1; i++)
{
a[i + len2 - len3] = a[i];
}
}
a[len1 - len2 + len3] = 0;
for (i = 0; i < len3; i++)
{
a[locate + i] = c[i];
}
locate += len3;
}
else
{
locate++;
}
}
}
strcat函数如下:
void strcat(char *p, char *q)
{
while (*p)
{
p++;
}
while (*q)
{
*(p++) = *(q++);
}
*p = 0;
}
查找并返回第二