C++ 如何在visual studio(c+;+;)中将文字中文字符串指定给wchar_t*?
我试图在visual studio for C++的windows上的测试应用程序中编译以下代码:C++ 如何在visual studio(c+;+;)中将文字中文字符串指定给wchar_t*?,c++,windows,unicode,C++,Windows,Unicode,我试图在visual studio for C++的windows上的测试应用程序中编译以下代码: const wchar_t* chinese = "好久不见"; 但我得到了以下错误: 错误C2440:“正在初始化”:无法从“常量字符[5]”转换为“常量字符”* 我是用unicode编译的,所以我对此感到困惑。如果我像这样转换文字,错误就会消失: const wchar_t* chinese = (wchar_t*)"好久不见"; 我不确定这是否安全,我也不想这样做,所以我如何才能解决这个
const wchar_t* chinese = "好久不见";
但我得到了以下错误:
错误C2440:“正在初始化”:无法从“常量字符[5]”转换为“常量字符”*
我是用unicode编译的,所以我对此感到困惑。如果我像这样转换文字,错误就会消失:
const wchar_t* chinese = (wchar_t*)"好久不见";
我不确定这是否安全,我也不想这样做,所以我如何才能解决这个问题
谢谢大家! 您需要宽字符串文字,因此在字符串文字前面加上
L
:
const wchar_t* chinese = L"好久不见";
您需要宽字符串文字,因此在字符串文字前加上
L
:
const wchar_t* chinese = L"好久不见";
就像GMan说的,在字符串前面加上“L”。L将字符串标识为宽字符类型(wchar\u t)
const wchar\u t*chinese=L”好久不见";代码>正如GMan所说,在字符串前面加上“L”前缀。L将字符串标识为宽字符类型(wchar\t)
const wchar\u t*chinese=L”好久不见“;