Replace anwenden in einem wstring
-
Hallo Liebe Community...
ich bin ein entwickler der normalerweise nicht in der C++ umgebung zu hause ist...
aber muss mich jetzt hier doch mit einem problem auseinander setzen xDich habe einen wstring ( wird von einer funktion geliefert) und in diesem muss ich ein replace durchführen...leider finde ich da keine funktionierende variante -.-
folgendes habe ich bereits versucht aber leider funktioniert das nicht wirklich...
std::replace(currentFile.fileName.begin, currentFile.fileName.end, L"1", L"2");--->C3867 "std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>::begin": Keine Standardsyntax; "&" zum Erstellen eines Verweises auf das Member verwenden
--->C2672 "std::replace": keine übereinstimmende überladene Funktion gefundenvielleicht könnt ihr mir da weiterhelfen?!
mfg
-
naja du übergibst da eine adresse (ein stringliteral). probiers mal mit zeichen, also L'1' und L'2'.
-
hm leider nein... kommt der selber fehler beraus...
aber ich verstehe was du damit meinst und das macht auf jeden fall schon sinn...löst leider nicht mein problem...
-
Bei begin und end fehlen die Klammern:
std::replace(currentFile.fileName.begin(), currentFile.fileName.end(), L'1', L'2');
-
Nebenbei, ich glaube nicht, daß sich
std::basic_string<>::replace()
mit Zeichen die nicht in einenwchar_t
passen gut benimmt (zumindest bei UTF-16 auf Windows).