Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2012, 23:47   #1
Astrawer
Новичок
Джуниор
 
Регистрация: 30.07.2010
Сообщений: 1
По умолчанию Найти вхождения второй строки в первую и заменить их третьей строкой (C++)

Пошел путем через string,но выявились проблемы. Например,при s1=ttyytt,s2=t,s3=ttt,вместо результата ttttttyytttttt она выводит ttttttttttyytt. В чем ошибка?

Функция:

Код:
string fstr(string s1, string s2, string s3){
    int t = s1.length(), p = 0;
    while(string::npos != (p = s1.find(s2)) && t){
        s1 = s1.substr(0, p) + s3 + s1.substr(p + s2.length() , s1.length());
        t--;
    }
    return s1;
}
Astrawer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все вхождения строки Т в строке S (СИ) L01 Помощь студентам 3 25.06.2012 20:24
Найти все вхождения строки. CraZZy RabbIt PHP 2 15.01.2012 19:35
найти среднюю длину слов в массиве строк и заменить нею слова последней строки (размерность массива 12) INZA Паскаль, Turbo Pascal, PascalABC.NET 0 20.12.2010 19:45
Заменить автоматически первую букву в ячейке на заглавную. agregator Microsoft Office Excel 2 02.07.2009 18:22
Матрица A состоит из 8 строк и 6 столбцов. вычесть из всех её строк, начиная со второй, первую строку Dimak24 Помощь студентам 1 19.12.2008 15:45