Replace Funktion



  • Hallo,
    gibt es eine Replace Standardfunktion, die mit Unicode char-arrays arbeitet?
    Bsp:

    WCHAR variable[50] = L"testtext";
    replacefunc(variable, L"tt", L"H");
    //In 'variable' sollte dann 'tesHext' sein..
    

    oder müsste man sich so eine Funktion selber basteln?
    Vielleicht könnte man so eine Funktion mit wcscspn (kein Unicode: strcspn) machen?

    MfG,
    Max



  • Nimm den Datentyp std::wstring dafür. Du kannst dann dieselben Methoden wie bei std::string benutzen (intern wird dafür die Template-Klasse basic_string<T> benutzt).

    std::wstring wsText(L"testtext");
    std::wstring wsFind(L"tt");
    
    size_t nPos = wsText.find(wsFind);
    if(nPos != std::wstring::npos)
      wsText.replace(nPos, wsFind.length(), "H");
    

    Falls du alle Textpositionen ersetzen lassen willst, dann mußt du noch eine Schleife darum herum setzen.



  • ok, dann werde ich das so machen.
    Danke!


Anmelden zum Antworten