Konvertierung von char* nach LPTSTR



  • kurz und bündig:
    Kann mir irgend jemand sagen wie ich char* nach LPTSTR konvertiere? Bin schon am verzweifeln... 😞



  • char *a;
    LPTSTR b = (LPTSTR)a;
    


  • lol. char* ist das gleiche wie LPTSTR ausser du kompilierst im UNICODE modus.



  • ja ich kompiliere im UNICODE Modus. Wird dann char* automatisch zu wchar_t*??
    Auf jeden Fall muss ich den String in LPTSTR konvertieren und

    char *a;
    LPTSTR b = (LPTSTR)a;
    

    funktioniert nicht!



  • Johannes Ta. schrieb:

    ja ich kompiliere im UNICODE Modus. Wird dann char* automatisch zu wchar_t*??

    Was TCHAR betrifft, dann wird aus char wchar_t. Und LPTSTR ist ja nichts anderes als ein Zeiger auf TCHAR.

    Johannes Ta. schrieb:

    Auf jeden Fall muss ich den String in LPTSTR konvertieren und

    char *a;
    LPTSTR b = (LPTSTR)a;
    

    funktioniert nicht!

    Klar, damit werden die Daten nur neu interpretiert, aber nicht umgewandelt. Da ich MFC nicht kenne, kann ich dir nicht sagen, ob es dort eine Möglichkeit gibt. Jedoch bietet WinAPI die Funktion MultiByteToWideChar.
    Du solltest dir allerdings nochmal genau überlegen, was du machst. char* nach LPTSTR ist ja erstmal unbestimmt. Wenn man Multi-Byte kompiliert, dann solltest du auch nichts machen. Denn dann ist ja LPTSTR char*. Wenn du UNICODE kompilierst, dann gibt es zB die erwähnte Funktion. Dies solltest du auch entsprechend implementieren.


Anmelden zum Antworten