将wstring*转换为PWSTR

Conversion of wstring* to PWSTR

本文关键字:PWSTR 转换 wstring      更新时间:2023-10-16

我正在尝试将wstring*转换为PWSTR*。根据http://devsolvd.com/questions/how-to-convert-std-string-to-lpcstr, PWSTR为wchar_t*。所以PWSTR* = wchar_t**

根据文档http://en.cppreference.com/w/cpp/string/basic_string, wstring是wchar_t。所以wstring* = whar_t*

将wstring转换为PWSTR,我正在尝试以下表达式:

std::wstring *currentMetric =...
PWSTR *metric=...
*metric=currentMetric

无法从'std::wstring *'转换为'PWSTR'"我不想使用c_str,因为它返回PCWSTR,而const_cast可以返回PWSTR,但变量的重新赋值可能会导致数据损坏。

我想知道有没有其他方法可以做到这一点。

感谢

编辑:答案建议使用c_str(),但我想使用其他的东西而不是c_str()

我找到了一个方法:*metric = &(*currentMetric)[0];

p。我不想使用c_str,因为它返回PCWSTR,可以con_cast为PWSTR。但是重新赋值变量可能会导致数据损坏

这部分不正确:

根据文档http://en.cppreference.com/w/cpp/string/basic_string, wstring是wchar_t。所以wstring* = whar_t*

wstring是wchar_t*的包装,而不是wchar_t。要访问底层wchar_t*,请使用c_str成员函数。