Wieso L vor String ?

pyr0t0n

Erfahrenes Mitglied
Aloah,

mir brennt seit längerem die Frage wieso man in VC++ vor einem String L schreiben muss?

also

$var = L"Teststring";

Danke schonmal für die erklärung.
 
aber da is doch dann nichts anders dran im grunde isses doch weiterhin nen String. Warum sollte ich diesen dann zu einem wchar datentyp casten ?

also mir ist der sinn davon nicht ganz klar
 
Das ist kein Casting. Bei dem Literal mit dem L Prefix ist jedes Zeichen im Literal ein wchar_t. Ohne das Prefix ist jedes Zeichen im Literal ein char.
 
Hi.
der Unterschied besteht darin, dass ein mit L initialisierter String (oder mit dem Makro _T("irgendetwas")) einen Unicode-String liefert, also je Zeichen ein 16-Bit-Wort. Ohne wird ein ANSI-String geliefert, also je Zeichen 8 Bit.

Mfg

langer
 
Zurück