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

备注:

1:在win7用这个std::string转LPCWSTR的时候老是报错,一般遇到这种情况可以改用ANSI编码

一般我们调用win32系统函数的时候不想用unicode(宽字符编码),想用ANSI(多字节编码)的时候在函数后加A(一般这种函数就可以直接用std::string)

posted on 2017-03-17 11:30  阿兴的平凡世界  阅读(926)  评论(0)    收藏  举报

导航