Bräuchte Erklärung (1)



  • Hallo,

    wozu eine Typdefinition gut ist, das weiss ich.. aber könnte mir jemand das hier erklären:

    typedef TCHAR FAR * LPTSTR;
    

    Was ist dieses FAR und was ist dieses TCHAR und warum bitte der Zeiger?

    Danke im Voraus!



  • 'FAR' ist ein Relikt aus der 16-Bit-Programmierung, als man noch zwischen near- und far-Zeigern unterscheiden konnte.

    'TCHAR' ist ein typedef für char oder wchar_t, je nach UNICODE-Einstellungen für das Projekt (also der Typ für ein "Zeichen").

    'Zeiger auf Zeichen' ist die C-Darstellung für Strings.

    => die Zeile definiert den Typ 'LPTSTR' als 'far-Zeiger auf (nullterminierte)TCHAR(-Arrays)' (die Teile in Klammern stehen nicht im typedef, sondern sind eher als C-typische Konvention zu sehen).



  • Hi clara,

    als erstes bräuchtest Du wohl eine Erklärung, wie man Threads benennt.... :p

    Gruß,

    Simon2.



  • Danke schonmal. 🙂

    Noch ein paar Fragen:

    1. Was heißt wchar_t ausgeschrieben? Wo finde ich darüber Informationen was das genau ist?
    2. wchar_t = unsigned short int?


  • clara774 schrieb:

    Danke schonmal. 🙂

    Noch ein paar Fragen:

    1. Was heißt wchar_t ausgeschrieben? Wo finde ich darüber Informationen was das genau ist?
    2. wchar_t = unsigned short int?

    wchar_t ist überhaupt kein int sondern eine "besondere Version" von char mit der man Zeichen darstellt die zb so wie die Chinesischen sind.



  • Und wie soll ich sonst

    #ifndef _MAC
    typedef wchar_t WCHAR;    // wc,   16-bit UNICODE character
    #else
    // some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char
    typedef unsigned short WCHAR;    // wc,   16-bit UNICODE character
    #endif
    

    interpretieren?



  • Steht doch da:

    some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char

    Es gibt ein paar Mac-Compiler die z.B. kein wchar_t kennen oder das wchar_t als alias auf ein unsigned short haben.

    Aber das ist dann halt nicht ISO-C++-konform. Wir können hier nicht jeden Compiler auf jeder Paltform kennen. Deshalb gehen wir bei Antworten auf Beiträge vom ISO-C++-Standard aus. Und das ist auch gut so!



  • Ach, so ist das gemeint. Dann verstehe ich das. Danke!


Anmelden zum Antworten