Konvertierungen



  • Hallo Community,

    ich versuche momentan einige Variablen in andere Formate zu konvertieren um diese verwenden bzw. ausgeben zu können.
    Habe alles diesbezüglich gegooglet, allerdings keine weiterführende Antwort/Methode gefunden.

    Ich programmiere in Visual Studio 2010 und benutze Unicode. Möchte dies auch nur ungern umstellen. 🙂

    Mein erstes Problem:
    Ich möchte eine Int Variable die ich mit:

    GetDlgItemInt
    

    einlese in LPCWSTR umwandeln um diese in einer MessageBox ausgeben zu können.

    MessageBox(hWnd,(LPCWSTR)TeleportX,0,0);
    

    Einfach mit LPCWSTR zu casten funktioniert nicht, bzw. führt zu keiner Ausgabe.

    Mein zweites Problem:
    Die Umwandlung eines std::strings, den ich durch eine Funktion (die ich nicht verändern kann) zurückgegeben bekomme, zu abermals LPCWSTR um diesen mit einer MessageBox ausgeben zu können bzw mit:

    SetDlgItemText(hWnd,IDC_HWID, String);
    

    verwenden kann.

    Eine Lösung per Google wäre:

    LPCWSTR a;
    std::string s = Funktion(Parm1, Parm2);
    a = (LPCWSTR)s.c_str();
    SetDlgItemText(hWnd,IDC_HWID, a);
    

    allerdings führt dies zu einer sehr kryptischen Ausgabe...

    Ich würde mich über Antworten und Hilfestellung freuen!
    Mfg Infemo


  • Mod

    Vielleicht machst Du Dich erstmal damit vertraut das wchar_T!=char ist und ein std::strmg aus char betstehtundnicht aus wchar_t und weiterhin ein LPCWSTR ein wchar_t Zeiger ist.

    Man kann Zeiger nicht einfach catsen...



  • Das ich die nicht einfach casten kann habe ich auch bemerkt.

    std::strmg aus char betstehtundnicht aus wchar_t und weiterhin ein LPCWSTR ein wchar_t Zeiger ist

    Und wie kann ich den unten aufgeführten String s den ich von der Funktion bekomme in wchar_t umwandeln?



  • Das Problem mit dem Int zu LPCWSTR convert wurde gelöst.

    Wäre nett, wenn mir jemand sagen könnte wie ich einen std::string in LPCWSTR also wchar_t convertieren kann.

    Dankesehr!


  • Mod

    A2W also die ATL <<Makros, MultiByteToWideString,

    Ich habe dich geschrieben Du solltest mal was zu char und wchar_t lesen





  • Hat einwandfrei funktioniert dankesehr!


Anmelden zum Antworten