我試圖將wstring *轉換爲PWSTR *。 根據http://devsolvd.com/questions/how-to-convert-std-string-to-lpcstr PWSTR是wchar_t *。所以PWSTR *是wchar_t **將wstring *轉換爲PWSTR
根據文檔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()以外的東西
您可以使用'c_str()'方法來訪問原始數據。 –
匈牙利人受到譴責的情況很多。 wstring :: c_str()返回* const wchar_t *。 PCWSTR是*指向常量寬字符串*的指針。 PWSTR中沒有C。 –
你包含了WinNT.h嗎? – Les