从std::string转换为LPCWSTR

从std::string转换为LPCWSTR

在网上找了很久,最后在微软的官方帮助文档里找到方法,然后自己写了个函数。

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;
}

char * 的话,可以先把char * 转为 std::string,就是用string的构造函数 string(char*)

比如

char * charArray = "abcd";

std::string str(charArray);

你可能感兴趣的:(从std::string转换为LPCWSTR)