Hallo Zusammen,
vll kann mir jemand bei einem Problem helfen...:
Es soll ein Text eingelesen werden(text)...dann kann man ein Wort auswählen(findString) und dieses durch in anderes wort ersetzen(replace String)...
Problem: kommt das ausgewählte Wort (findString) öfter als ein Mal vor, so wird nur das erste geändert.... hier mei bisheriger quellcode...vll kann mir jemand helfen
Vielen Dank im Voraus...
vll kann mir jemand bei einem Problem helfen...:
Es soll ein Text eingelesen werden(text)...dann kann man ein Wort auswählen(findString) und dieses durch in anderes wort ersetzen(replace String)...
Problem: kommt das ausgewählte Wort (findString) öfter als ein Mal vor, so wird nur das erste geändert.... hier mei bisheriger quellcode...vll kann mir jemand helfen
Vielen Dank im Voraus...
Code:
cout << "Bitte geben Sie einen Txt ein: " ;
getline(cin, text);
cout << "Welches Wort moechten sie aendern? " << endl;
getline(cin, findString);
// liefert Position, ansonsten string::npos, wenn nicht gefunden
iPos = text.find( findString, 0);
cout << "Welches Wort soll stattdessen eingefuegt werden? " << endl;
getline(cin, replaceString);
//boolean wortErsetzen() {
//for ( l = 0; l <= text.length(); l++) {
do {
if( text.find( findString, 0) != string::npos) {
text = text.replace( iPos, findString.length(), replaceString);
cout << "Der veraenderte String sieht nun so aus: "<< text<<endl;
break;
}
else{
cout<< "Das gesuchte wort gibt es nicht" <<endl;
return false;
}
}while( true );
return 0;
}