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
-
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!
-
A2W also die ATL <<Makros, MultiByteToWideString,
Ich habe dich geschrieben Du solltest mal was zu char und wchar_t lesen
-
Martins lösung passt schon.
Per Google findet man jede Menge Alternativen ...
http://msdn.microsoft.com/de-de/library/ms235631(v=vs.80).aspx
http://www.virtual-maxim.de/c-string-in-int-float-double-und-zuruck-konvertieren/
-
Hat einwandfrei funktioniert dankesehr!