Автор: анон (27.01.2011 в 18:48)
окончательный вариант
char* str_replace(char* search, char* replace, char* resource)
{
size_t search_len = strlen(search);
size_t replace_len = strlen(replace);
char* pointer = strstr(resource, search);
while (pointer != NULL)
{
size_t i;
size_t pointer_len = strlen(pointer);
size_t resource_len = strlen(resource);
char* new_text = (char*)calloc((resource_len - search_len + replace_len), sizeof(char));
strncpy(new_text, resource, resource_len - pointer_len);
strcat(new_text, replace);
strcat(new_text, pointer + search_len);
free(resource);
resource = new_text;
pointer = strstr(resource, search);
}
return resource;
}