Konvertierungsprobleme: Bekomme kein std::string aus wchar_t



  • Hallo Leute/Helfer,
    ich habe folgendes Problem:
    Also ich habe eine Funktion die einen "std::string" erwartet à la:

    void getSectionValue(std::string)
    

    Ich will mit einer Schleife automatisch und dynamisch verschiedene Namen generien à la:

    for (int i = 0; numObjects > 4; i++)
    {
        //leider brauche ich hierfür ein "snwprintf" das nur einen wchar_t erwartet 
        //keinen std::string.
        wchar_t temp[12];
        swprintf(temp, 256,"object%d", i);
    
       // jetzt möchte ich getSectionValue aufrufen , das erwartet
       // ,aber einen std::string. Also: wie von wchar_t nach std::string ...
    }
    

    Auf gut Deutsch:
    Ich muss von "wchar_t" auf "std::string".

    Danke an jeden der mir helfen kann/will/versucht zu helfen.

    MfG
    spy



  • So hat sich erledigt. Man kann einfach

    snprintf();
    

    benützen. Das lässt sich dann nach std::string casten...



    swprintf(temp, 256,L"object%d", i);
    

    😉
    2.

    wchar_t* test = L"Hello";
    std::wstring test2(test);
    std::string test3(test2.begin(), test2.end());
    

    wäre eine möglichkeit 🙂

    edit: oh, zu spät 😞



  • Trotzdem danke. 👍

    MfG
    spy1024


Anmelden zum Antworten