簡體   English   中英

如何在Visual Studio(C ++)中將文字漢字字符串分配給wchar_t *?

[英]How do I assign a literal chinese string to a wchar_t* in visual studio(c++)?

我正在嘗試在Visual Studio for Windows的Windows上的測試應用程序中編譯以下代碼:

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

但是我收到以下錯誤:

錯誤C2440:“正在初始化”:無法從“ const char [5]”轉換為“ const wchar_t *

我正在使用unicode進行編譯,因此對此感到困惑。 如果我像這樣強制轉換文字,錯誤就會消失:

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

我不確定這是否安全,也不確定是否要這樣做,那么我該如何解決。

謝謝!

您需要寬字符串文字,因此請在字符串文字前加上L

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

就像GMan所說的那樣,在字符串前加上'L'。 L將字符串標識為寬字符類型(wchar_t)。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM