首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将wstring*转换为PWSTR

将wstring*转换为PWSTR
EN

Stack Overflow用户
提问于 2015-10-01 20:33:05
回答 2查看 3K关注 0票数 2

我正在尝试将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,我尝试使用以下表达式:

代码语言:javascript
复制
std::wstring *currentMetric =...
PWSTR *metric=...
*metric=currentMetric

它收到错误“无法从'std::wstring *‘转换为' PWSTR '”我不想使用c_str,因为它返回PCWSTR,并且const_cast可以提供PWSTR,但重新分配变量可能会导致数据损坏。

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

谢谢

编辑: answer建议使用c_str(),但我想使用c_str()以外的其他方法。

EN

回答 2

Stack Overflow用户

发布于 2015-10-02 03:35:35

我找到了一种方法:*metric = &(*currentMetric);

我不想使用c_str,因为它返回了PWSTR,PWSTR可以被cons_cast到PWSTR。但是重新分配hthe变量可能会导致数据损坏

票数 2
EN

Stack Overflow用户

发布于 2015-10-01 20:39:24

此部分不正确:

根据文档http://en.cppreference.com/w/cpp/string/basic_string,wstring为wchar_t。因此wstring*为whar_t*

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32887714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档