如何在visual studio(c ++)中为wchar_t *指定一个文字中文字符串?

时间:2010-09-17 00:13:42

标签: c++ windows unicode

我正在尝试在Visual Studio for C ++的Windows上的测试应用程序中编译以下代码:

const wchar_t* chinese = "好久不见";

但是我收到以下错误:

  

错误C2440:'初始化':无法从'const char [5]'转换为'const wchar_t *

我正在使用unicode编译,所以我对此感到困惑。如果我像这样投射文字,错误消失了:

const wchar_t* chinese = (wchar_t*)"好久不见";

我不确定这是否安全,我也不想这样做,所以如何解决这个问题。

谢谢!

2 个答案:

答案 0 :(得分:13)

您需要一个宽字符串文字,因此请在字符串文字前加上L

const wchar_t* chinese =  L"好久不见";

答案 1 :(得分:1)

就像GMan所说的那样,在字符串前加上'L'。 L将字符串标识为宽字符类型(wchar_t)。

const wchar_t* chinese = L"好久不见";