String innerhalb von " " ausschneiden...
-
Bitte nur hilfreiche Beiträge schreiben!
-
Wenn
dir "c:\dokumente und einstellungen"mit geline(cin,str) eingelsen wird, wie rufe ich mit if-abfragen die zeichen auf, also genau 2 mal "?
if(str.find('"') && str.find('"'))..das funktioniert nicht.
-
1. find gibt nicht bool zurück
2. find hat einen zweiten Parameter
-
Ich will ja kein Bool wert auslesen, sondern wie kann ich in dem string 2mal das Zeichen " finden? Wenn das zeichen einmal vorkommt soll nix passieren nur wenn es existiert soll wie ich schon geschrieben hab der inhalt in ein string gespeicher werden.
-
-
kernel64 schrieb:
Ich will ja kein Bool wert auslesen, sondern wie kann ich in dem string 2mal das Zeichen " finden? Wenn das zeichen einmal vorkommt soll nix passieren nur wenn es existiert soll wie ich schon geschrieben hab der inhalt in ein string gespeicher werden.
Hast du dich über den Rückgabewert und den zweiten Parameter von find informiert?
Nicht? Dann solltest du das evtl. mal fix nachholen....
-
Hi,
du kannst auch
boost::spirit oder
boost::tokenizer benutzen.Ansonsten mit getline string einlesen und als trennzeichen " " nehmen.
Fertisch!Es gruesst der
MAX
-
Bin dann mal heute (et)was hilfsbereiter:
1.) find gibt dir nen Iterator auf das gefunde Zeichen zurück...
2.) Diesen Iterator gibst du inkrementiert an find('"',it + 1) und find gibt dir nen Iterator auf das nächste "-Zeichen zurück.Somit hast du beide Positionen.
[Nach zuvielem programmieren, drücke ich schon F9 um einen Beitrag abzusenden
]
-
Freak_Coder schrieb:
1.) find gibt dir nen Iterator auf das gefunde Zeichen zurück...
Nicht ganz - find() gibt den Index der ersten Fundstelle zurück (oder npos für "nicht gefunden"). Der Rest ist jedoch richtig

-
Wollte nicht ganz so ausführlich sein
