#include <string>
#include <stdio.h> // funckja getchar
#include <iostream>// funkcje wejscia i wyjscia
using namespace std;
void podmien(char *tekst, string szukane, string zamiennik)
{
string temp = tekst;
while (temp.find(szukane) != string::npos)
temp.replace(temp.find(szukane), szukane.length(), zamiennik);
copy(temp.begin(), temp.end(), tekst);
}
int main()
{
cout << "Napisz zdanie: " << endl;
while (isspace(cin.peek()))
{
cin.ignore(1);
}
char tab_wprowadzone[100];
string slowo_szukane, slowo_zmiany;
cin.getline(tab_wprowadzone, 100);
cout << "Podaj slowo do wyszukania: " << endl;
cin >> slowo_szukane;
cout << "Podaj slowo na kore zostanie zamienione: " << endl;
cin >> slowo_zmiany;
int i;
cout << endl;
podmien(tab_wprowadzone, slowo_szukane, slowo_zmiany);
for (i = 0; tab_wprowadzone[i] != NULL; i++)
{
cout << tab_wprowadzone[i];
}
cout << endl;
system("pause");
return 0;
}
gdy chce zamienić na słowo z taką samą długością nie ma żadnego problemu ale gdy słowo zamienione jest dłuższe na końcu pojawiają się krzaki ( zamiana zachodzi prawidłowo)
jak to rozwiązać?