char * replace_all(char* src, const char* old_value, const char* new_value)
{
char* ReturnArray = new char[512];
memset(ReturnArray, 0, sizeof(ReturnArray));
//i love fishc -> Apple replace e ->i lovApple fishc
int length = strlen(src);
char* srcEnd = src + length;
char* tmpPoint = ReturnArray;
int old_length = strlen(old_value);
while (src < srcEnd)
{
if (*src != old_value[0])
{
*tmpPoint++ = *src++;
}
else
{
int nCount = 0;
if (src + strlen(old_value) > srcEnd)
{
*tmpPoint++ = *src++;
}
else
{
for (int j = 0; j < strlen(old_value); ++j)
{
if (src[j] == old_value[j])
nCount++;
}
if (nCount == strlen(old_value))
{
for (int j = 0; j < strlen(new_value); ++j)
{
*tmpPoint++ = new_value[j];
}
src += strlen(old_value);
}
else
{
*tmpPoint++ = *src++;
}
}
}
}
*tmpPoint = ' ';
return ReturnArray;
}