簡體   English   中英

將char *轉換為Unicode std :: string

[英]Convert char* to Unicode std::string

我已經編程很多年了,但對std名稱空間和std::string類來說卻是新手。

我正在編寫代碼以讀取Gdiplus::PropertyItem::value ,該Gdiplus::PropertyItem::valuechar *

將這個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.

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