在Cstring前面的“L”是什么意思?
this->textBox1->Name = L"textBox1";
虽然它似乎没有L
工作,这个前缀的目的是什么? 它的使用方式对于硬核C程序员来说是没有意义的。
这是一个wchar_t
文字,用于扩展字符集。 维基百科对这个主题和c ++的例子有一些讨论。
'L'表示wchar_t
,与正常字符相反,它需要16位存储而不是8位。 这是一个例子:
"A" = 41 "ABC" = 41 42 43 L"A" = 00 41 L"ABC" = 00 41 00 42 00 43
wchar_t
是一个简单字符的两倍大。 在日常使用中,你不需要使用wchar_t,但是如果你使用的是windows.h,你将需要它。
这意味着文本存储为wchar_t
字符而不是普通的旧字符。
(我原来说的意思是unicode,我错了,但是可以用unicode。)
这意味着它是一个宽字符( wchar_t
)而不是窄字符( char
)的数组。
它只是一个不同types字符的string , 不一定是一个Unicodestring 。
这意味着它是一个宽字符, wchar_t
。
类似1L
是一个长期的价值。
L是用于宽string的前缀。 每个字符使用几个字节(取决于wchar_t
的大小)。 使用的编码与此前缀无关。 我的意思是它不一定是UTF-16,不像其他答案中所述。