15

在 Visual C++ 中,我有一个

LPWSTR mystring;

这已经在代码的其他地方定义了。

我想创建一个新的 LPWSTR,其中包含:

"hello " + mystring + " blablabla"        (i.e. a concatenation)

我对这么简单的事情(串联)感到生气!提前非常感谢,我迷路了!

4

3 回答 3

24

C++方式:

std::wstring mywstring(mystring);
std::wstring concatted_stdstr = L"hello " + mywstring + L" blah";
LPCWSTR concatted = concatted_stdstr.c_str();
于 2013-03-14T22:12:33.473 回答
5

您可以使用StringCchCatW函数

于 2013-03-14T22:12:13.277 回答
0
std::wstring mystring_w(mystring);
std::wstring out_w = L"hello " + mystring_w + L" blablabla";
LPWSTR out = const_cast<LPWSTR>(out_w.c_str());

'out' 是 'out_w' 的 LPWSTR 包装器。因此,只要“out_w”在范围内,它就会很好用。此外,您不需要删除“out”,因为它已绑定到“out_w”生命周期。

这与“user529758”给出的答案几乎相同,但“克里斯”提出了修改。

于 2020-09-20T21:54:31.420 回答