我正在尝试将wstring *转换为PWSTR *。 根据{{3}} PWSTR是wchar_t *。所以PWSTR *是wchar_t **
根据文档http://devsolvd.com/questions/how-to-convert-std-string-to-lpcstr,wstring是wchar_t。所以wstring *是whar_t *
将wstring转换为PWSTR,我正在尝试以下表达式:
std::wstring *currentMetric =...
PWSTR *metric=...
*metric=currentMetric
收到错误"无法转换为' std :: wstring *'到' PWSTR'" 我不想使用c_str,因为它返回PCWSTR并且const_cast可以提供PWSTR,但是重新分配变量可能会导致数据损坏。
我想知道其他任何方法。
由于
编辑:http://en.cppreference.com/w/cpp/string/basic_string建议使用c_str(),但我想使用c_str()以外的其他东西
答案 0 :(得分:2)
我找到了一种方法: * metric =&(* currentMetric)[0];
PS.I不想使用c_str,因为它返回PCWSTR,可以将cons_cast返回到PWSTR。但重新分配变量可能会导致数据损坏
答案 1 :(得分:0)
这部分不正确:
根据文档http://en.cppreference.com/w/cpp/string/basic_string,wstring是wchar_t。所以wstring *是whar_t *
wstring是wchar_t *的包装器,而不是wchar_t。要访问基础wchar_t *,请使用c_str成员函数。