string problem mit UNICODE



  • Hallo zusammen

    ich compiliere immer mit UNICODE unterstützung.
    der folgende code lässt sich nicht fehlerfrei compilieren
    ('TextOutW' : Konvertierung des Parameters 4 von 'const char [11]' in 'const unsigned short *' nicht moeglich)

    ...
    const char string[] = "hallo wach";
    ...
    TextOut (hdc, 1, 1, string, strlen(string));
    ...
    

    dieser schon (also wenn ich TextOutA statt TextOut benutze)

    ...
    const char string[] = "hallo wach";
    ...
    TextOutA (hdc, 1, 1, string, strlen(string));
    ...
    

    (wie) kann ich dieses problem mit reinem C++ code (sprich: kein C-code) umgehen???



  • floppy schrieb:

    (wie) kann ich dieses problem mit reinem C++ code (sprich: kein C-code) umgehen???

    So:

    #include <tchar.h>
    ...
    const TCHAR string[] = TEXT("hallo wach");
    ...
    TextOut(hdc, 1, 1, string, _tcslen(string));
    ...
    

    Edit: In C++ wirst Du "string" als Namen nicht so ohne weiters verwenden wollen.



  • danke vielmals aber ich hatte es auch gerade rausgefunden (im petzold) und so gelöst:

    #include <wchar.h>
    ...
    static wchar_t pString[] = "test";
    ...
    TextOut (hdc, 0, 0, pString, wcslen(pString));
    ...
    


  • sry...

    mit dem L noch davor

    (static wchar_t pString[] = L"test";)

    ^^ so


Anmelden zum Antworten