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.


Anmelden zum Antworten