Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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);
  }
}


Так вот как вы видите я не могу записать результат работы функции в исходную строку. Ну не получается у меня чтобы я не пробовал... Помогите! Что делать? Или может быть есть уже подобная стандартная функция?


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: