Das L Makro?
-
Hallo Forum,
ich habe ein funktionierendes Projekt. Dort werden Funktionen zB solche Parameter übergeben: MyFunc(L"Param1").
Wofür steht das L? Wenn ich ein Rechtsklick drauf mache und versuche zur Definition zu gehen heißt es nur L undefinied.
Vielen Dank
-
Das ist kein Makro, sondern gehört zum Stringliteral. Es zeigt an, dass es ein Wide-String ist, also aus Elementen vom Typ wchar_t statt char besteht.
-
Vielen Dank Bashar
-
schreibs am besten so
MyFunc(_T("Param1"))
dan ist es ein wide char bei unicode compilierung und ein char bei multibyte - dadurch kannst du stets einfach wechseln
-
Meintest Du das "_L()" Makro? "_T()" ist bei mir in VS6 nicht definiert. "_L(c)" wird nach "L##c" aufgeloesst.
-
ZubX schrieb:
Meintest Du das "_L()" Makro? "_T()" ist bei mir in VS6 nicht definiert. "_L(c)" wird nach "L##c" aufgeloesst.
Bei mir schon.
-
Nein, er meinte _T("x") (oder auch TEXT("x")) - das wird je nach Unicode-Einstellungen wahlweise zu "x" (ANSI-Version) oder L"x" (UNICODE-Version aufgelöst.
(wenn der Compiler es nicht findet, benötigst du die <tchar.h>)
-
Stimmt, "#include <tchar.h>" war nicht definiert.