Есть символ С и строки S1, S2. Перед каждым входжением символа С в строку S1 нужно вставить строку S2. Как это сделать?
Вот демонстрационная программа, которая показывает, как это можно сделать.
#include <iostream>
#include <string>
int main()
{
std::string s( "one two three" );
std::string t( "," );
char c = ' ';
std::cout << s << std::endl;
for ( std::string::size_type pos = 0;
( pos = s.find( c, pos ) ) != std::string::npos;
pos += t.size() + sizeof( c ) )
{
s.insert( pos, t );
}
std::cout << s << std::endl;
return 0;
}
Вывод программы на консоль
one two three
one, two, three
Можно предварительно подсчитать, сколько в строке встречается символ в c
, чтобы заранее зарезервировать память в строке s
, а затем выполнить указанный в программе цикл.
Например
#include <iostream>
#include <string>
#include <algorithm>
int main()
{
std::string s( "one two three" );
std::string t( "," );
char c = ' ';
std::cout << s << std::endl;
auto n = std::count( s.begin(), s.end(), c );
s.reserve( s.size() + n * t.size() );
for ( std::string::size_type pos = 0;
( pos = s.find( c, pos ) ) != std::string::npos;
pos += t.size() + sizeof( c ) )
{
s.insert( pos, t );
}
std::cout << s << std::endl;
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Необходимо написать парсер кода для подсчёта метрики ЧепинаНепонятен алгоритм написания парсера
Написал программу которая берет данные с сайта и выводит их в DataGridView, все работает когда одна формаНо когда я добавил вторую форму, чтобы...
Возникает следующая ошибка при выполнении некоторых проектов в VS 2013/2015