[英]MFC - How to convert WCHAR to CString?
是否可以將WCHAR轉換為CString? 我需要這樣做,甚至將其轉換為char或char *。
謝謝!
CString
具有接受char*
和wchar_t*
數據作為輸入的構造函數和賦值運算符。 因此,您可以將它們直接分配給CString
。
如果要將wchar_t*
轉換為char*
查看WideCharToMultiByte()
CHAR
和WCHAR
都可以使用CString
。 在其他地方,例如std::string
和std::wstring
,請使用MFC字符串轉換宏: CW2A(pszW)
CHAR B[32]{ "The Matrix Has You" };
WCHAR WB[32]{ L"Wake up, Neo." };
std::string str;
std::wstring wstr{ L"Follow the White Rabbit" };
// std::string from std::wstring:
str = CW2A(wstr.c_str());
// CString (OK with both CHAR & WCHAR):
CString str1{ B };
CString str2{ WB };
CString str3{ str.c_str() };
CString str4{ wstr.c_str() };
// std::string from CString:
str = CW2A(str1);
-
下面列出了MFC通用宏集:
A2CW (LPCSTR) -> (LPCWSTR)
A2W (LPCSTR) -> (LPWSTR)
W2CA (LPCWSTR) -> (LPCSTR)
W2A (LPCWSTR) -> (LPSTR)
-
CString
具有接受char
, char*
和wchar_t
構造函數。 (如果您不了解'WCHAR'和wchar_t
之間的區別, 這將是一個很好的參考。)
因此,您可以這樣做。
CString newCString(your_WCHAR);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.