Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在visual studio(c+;+;)中将文字中文字符串指定给wchar_t*?_C++_Windows_Unicode - Fatal编程技术网

C++ 如何在visual studio(c+;+;)中将文字中文字符串指定给wchar_t*?

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*)"好久不见"; 我不确定这是否安全,我也不想这样做,所以我如何才能解决这个

我试图在visual studio for C++的windows上的测试应用程序中编译以下代码:

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”好久不见“;