[英]Convert char* to Unicode std::string
我已經編程很多年了,但對std
名稱空間和std::string
類來說卻是新手。
我正在編寫代碼以讀取Gdiplus::PropertyItem::value
,該Gdiplus::PropertyItem::value
是char *
。
將這個char *
值轉換為string
,最常見的方法是什么(在我的情況下是Unicode字符串)?
您提到的是string
但您說的是Unicode字符串。 所以,我想你的意思是wstring
。 您可以使用MultiByteToWideChar函數在兩者之間進行轉換。 像這樣:
std::string str(...);
int size = MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), NULL, 0);
std::wstring wstr(size, 0 );
MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), &wstr[0], size);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.