gpt4 book ai didi

c++ - wstringstream 到 LPWSTR

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:08:41 28 4
gpt4 key购买 nike

我已经使用 wstringstream 构建了一个字符串,需要将其分配给类型为 LPWSTRstruct 成员。我尝试使用 my_stringstream.str().c_str() 但出现以下编译时错误:

cannot convert from 'const wchar_t *' to 'LPWSTR'

我该怎么做?当我尝试在 GUI 中显示字符串时,我尝试了许多不同的强制转换组合,要么有更多编译时错误,要么有随机术语。

最佳答案

您的函数需要一个指向可修改数据的指针,即 wchar_t*,但标准字符串类只公开一个指向常量的指针。假设您的函数实际上可能会写入内存,我们需要为其提供一个有效的指针。

一如既往,获取可修改缓冲区的简单方法是vector:

std::vector<wchar_t> buf(mystring.begin(), mystring.end());
buf.push_back(0); // because your consumer expects null-termination

crazy_function(buf.data());
crazy_function(&buf[0]); // old-style

// need a string again?
std::wstring newstr(buf.data()); // or &buf[0]

关于c++ - wstringstream 到 LPWSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7264690/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com