tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
149
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    llf Tutorials.de Gastzugang
    Warum muss man in MS Visual C++ eigentlich immer, wenn man einen String ausgeben will, vor die Anfürungszeichen ein L schreiben?
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Das ist nicht immer so. Es hängt von den Unicode Einstellungen ab.

    Standardmäßig ist Unicode aktiviert und man muß "wide-character" Stringliterale / Zeichenliterale verwenden (die mit L"" bzw. L''). Deren Typ ist dann auch nicht mehr "const char*" bzw. "const char" sondern "const wchar_t*" und "const wchar_t" respektive.

    Wenn man es ganz allgemein halten will, verwendet man das _TEXT bzw. _T Makro um alle String-/Zeichenliterale. Dabei wird dann ein L vor dem Literal eingefügt wenn Unicode angeschaltet ist, sonst nicht.
    Code c:
    1
    2
    3
    4
    5
    6
    
    #include <tchar.h>
     
    ...
     
    LPCTSTR str = _TEXT("blub");
    LPCTSTR s = _T("bla");
    Ansonsten kannst du die Unicode Unterstützung in den Projekteinstellungen auch ausschalten.

    Gruß
    Geändert von deepthroat (07.09.11 um 10:08 Uhr) Grund: _T Makro ist identisch zu _TEXT Makro
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 19.04.10, 10:12
  2. Antworten: 5
    Letzter Beitrag: 10.11.08, 08:12
  3. Antworten: 9
    Letzter Beitrag: 03.07.08, 08:00
  4. WinAPI Funktion gesucht "Verzeichnis auslesen"
    Von Simsi1277 im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 21.11.07, 15:29
  5. Antworten: 5
    Letzter Beitrag: 19.08.07, 07:00