![](/img/trans.png)
[英]How can I convert CString to WCHAR* and std::string to WCHAR* in C++, not 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.