Zeichen in String ersetzen

shrewm

Mitglied
Hallo, wie kann ich in einem std String in C++ einzelne Zeichen ersetzen? Hier irgendwann mal in einem Board gelesen, dass die .replace Funktion nicht unbedingt die perfekte Anwedungsmöglichkeit dafür ist. Und wenn das damit doch gut geht, wie kann ich die so anwenden, dass in dem String jedes Leerzeichen durch einen Unterstrich ersetzt wird?
Danke schonmal für die Hilfe
 
Hi,
man koennte doch eine kleine Schleife nehmen?:
Code:
 // Alle Leerzeichen in "String" durch _ ersetzen
char *c;
while((c = strchr(String, ' '))!=NULL)*c = '_';
// vertig
 
Hab das jetzt so gemacht:
Code:
string bearbeitung;
char *test;
cin << bearbeitung;
while((test = strchr(bearbeitung.c_str(), ' '))!=NULL)*test = '_';
Aber wirklich funktionieren tut das auch nicht. Hab ich einen Fehler gemacht oder stimmt der Aufbau so?
 
Dann halt den: :p
Code:
string bearbeitung;
int pos;
cin << bearbeitung;
while((pos = bearbeitung.find(' '))!=string::npos)bearbeitung[pos] = '_';
 
ich kann mich auch irren,
aber schreibt man nicht
cin >> bearbeiten
ist doch Eingabe nicht Ausgabe
 

Neue Beiträge

Zurück