C++不存在從std::string轉換為LPCWSTR的適當函數


LPCWSTR是什么類型呢? 
看看如何定義的:

typedef const wchar_t* LPCWSTR;

顧名思義就是: 
LPCWSTR是一個指向unicode編碼字符串的32位指針,所指向字符串是wchar型,而不是char型。

轉換函數  直接可以使用

LPCWSTR stringToLPCWSTR(std::string orig)
{
size_t origsize = orig.length() + 1;
    const size_t newsize = 100;
    size_t convertedChars = 0;
wchar_t *wcstring = (wchar_t *)malloc(sizeof(wchar_t)*(orig.length()-1));
mbstowcs_s(&convertedChars, wcstring, origsize, orig.c_str(), _TRUNCATE);

return wcstring;
}

 

不存在從std::string轉換為const char*的適當函數

 string a;

a.c_str();//即可實現從從std::string轉換為const char*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM