Problem mit MessageBoxW
-
Hallo,
ich schreibe z.Z. ein Programm das Parameter für eine Funktion parst. Es klappt alles perfekt, aber ich habe ein Problem mit Umlauten und anderen nicht ASCII Zeichen.Ich nutze natürlich wchar_t und wstring und die entsprechenden Unicode funktionen und in der Konsole werden zumindestens die Umlaute richtig angezeigt, aber in der MessageBox leider nicht mehr. Warum?
http://img62.imageshack.us/my.php?image=problememitunicodebj9.jpg
Folgende Zeilen klappen z.B. auch nicht mit Umlauten, selbe wie auf der Screenshot.
std::getline(std::wcin, Read, L'\n'); MessageBoxW( NULL, Read.c_str(), L"", NULL);Woran kann das liegen? Vielen Dank!!!
Gruß,
Hilfeee
-
Benutz dafür die Funktion
BOOL OemToChar(LPCSTR lpszSrc, LPTSTR lpszDst);The OemToChar function translates a string from the OEM-defined character set into either an ANSI or a wide-character string.
oder
BOOL OemToCharBuff(LPCTSTR lpszSrc, LPTSTR lpszDst, DWORD cchDstLength);The OemToCharBuff function translates a specified number of characters in a string from the OEM-defined character set into either an ANSI or a wide-character string.