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*

posted @ 2019-03-13 14:37  枫影竹韵  阅读(8895)  评论(0编辑  收藏  举报