在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,不像其他答案中所述。