在Visual C ++中,我有一个
LPWSTR mystring;
已在代码中的其他位置定义。
我想创建一个包含以下内容的新LPWSTR:
"hello " + mystring + " blablabla" (i.e. a concatenation)
我生气这么简单(连接)!非常感谢,我迷路了!
答案 0 :(得分:17)
C ++方式:
std::wstring mywstring(mystring);
std::wstring concatted_stdstr = L"hello " + mywstring + L" blah";
LPCWSTR concatted = concatted_stdstr.c_str();
答案 1 :(得分:5)
您可以使用StringCchCatW功能
答案 2 :(得分: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_w”生命周期的“ out”也不需要删除。
这与'user529758'给出的答案几乎相同,但有'chris'建议的修改。