Вместо S вводится пустая строка (насколько я понял)
Дан символ C и строки S, S0 . Перед каждым вхождением символа C в строку S вставить строку S0.
#include <iostream>
#include <string>
int main()
{
char C;
std::string S, S0;
std::cout << "Введите C:" << std::endl;
std::cin >> C;
std::cout << "Введите строку S:" << std::endl;
getline(std::cin, S);
std::cin.ignore(1);
std::cout << "Введите строку S0:" << std::endl;
getline(std::cin, S0);
std::cin.ignore(1);
int i = 0;
while (S.find(C, i) != -1)
{
i = S.find(C, i) + 1;
S.insert(i, S0);
}
std::cout << S;
return 0;
}
Я думаю, getline() работает немного не так, как нужно