在 Visual C++ 中,我有一个
LPWSTR mystring;
这已经在代码的其他地方定义了。
我想创建一个新的 LPWSTR,其中包含:
"hello " + mystring + " blablabla" (i.e. a concatenation)
我对这么简单的事情(串联)感到生气!提前非常感谢,我迷路了!
在 Visual C++ 中,我有一个
LPWSTR mystring;
这已经在代码的其他地方定义了。
我想创建一个新的 LPWSTR,其中包含:
"hello " + mystring + " blablabla" (i.e. a concatenation)
我对这么简单的事情(串联)感到生气!提前非常感谢,我迷路了!
C++方式:
std::wstring mywstring(mystring);
std::wstring concatted_stdstr = L"hello " + mywstring + L" blah";
LPCWSTR concatted = concatted_stdstr.c_str();
您可以使用StringCchCatW函数
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”给出的答案几乎相同,但“克里斯”提出了修改。