方法:使用LPWSTR可以更改指向字符串的内容。不能使用LPCWSTR,因为它无法改变指向的内容
LPWSTR ConvertToLPWSTR( const std::string& s )
{
LPWSTR ws = new wchar_t[s.size()+1]; // +1 for zero at the end
copy( s.begin(), s.end(), ws );
ws[s.size()] = 0; // zero at the end
return ws;
}
返回ws的变量之后,可以使用LPCSTR进行强制转换
顺便再说一下如何将wchar类型转换为string类型
WCHAR wszWallpaper[MAX_PATH];
wstring ws(wszWallpaper);
string sWallpaper(ws.begin(), ws.end());
后面发现有更好的转换方法:
std::wstring strexepath = L"C:\\ProgramFiles\\Test\\myupdate.exe";
LPWSTR str= &strexepath[0];