Автор: MHz (16.10.2008 в 17:02)
Доброго времени суток! Передо мной стоит задача, написать функцию замены всех вхождений подстроки в строке. Функция по моей задумке должна иметь три аргумента: искомая строка, заменяемая стока и текст с котором необходимо выполнить данные действие. Вот что у меня пока получаеся:
void StrReplace (char* Search, char* Replace, char* Resource)
{
char* Pointer = strstr (Resource, Search);
while (Pointer)
{
int SearchLen = strlen (Search);
int ReplaceLen = strlen (Replace);
int ResourceLen = strlen (Resource);
int PointerLen = strlen (Pointer);
char* NewText = new char [ResourceLen - SearchLen + ReplaceLen + 1];
strncpy (NewText, Resource, ResourceLen - PointerLen);
strcpy (NewText, Replace);
strcpy (NewText, Pointer + SearchLen);
.............
Pointer = strstr (Resource, Search);
}
}
|
Так вот как вы видите я не могу записать результат работы функции в исходную строку. Ну не получается у меня чтобы я не пробовал... Помогите! Что делать? Или может быть есть уже подобная стандартная функция?