This question already has answers here:
What exactly is a PWSTR and why use this naming compared to char*, std::string, or CString in C++?
(8个答案)
5年前关闭。
我正在尝试将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 *'转换为'PWSTR'”
我不想使用c_str,因为它返回PCWSTR,而const_cast可以提供PWSTR,但是重新分配变量可能会导致数据损坏。
我想知道其他方法。
谢谢
编辑: answer建议使用c_str(),但我想使用c_str()以外的其他东西
(8个答案)
5年前关闭。
我正在尝试将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,但是重新分配变量可能会导致数据损坏。
我想知道其他方法。
谢谢
编辑: answer建议使用c_str(),但我想使用c_str()以外的其他东西
最佳答案
我找到了一种方法来做到这一点:
* metric =&(* currentMetric)[0];
PS。我不想使用c_str,因为它会返回PCWSTR,可以将cons_cast传输到PWSTR。但是重新分配该变量可能会导致数据损坏
关于c++ - 将wstring *转换为PWSTR ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32887714/
10-09 05:59