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_w」ライフサイクルにバインドされているため、「out」を削除する必要はありません。

これは「user529758」が出した答えとほとんど同じですが、「chris」が修正を提案しました。

于 2020-09-20T21:54:31.420 に答える