文字列の連結をより効率的にするCComBSTRのバッファーバージョンはありますか?

StackOverflow https://stackoverflow.com/questions/139927

  •  02-07-2019
  •  | 
  •  

質問

BSTR / CComBSTR / _bstr_tオブジェクトに文字列を追加する必要があるプロジェクトがいくつかあります(動的SQLステートメントの作成など)。 (.NETのStringBuilderのような)連結をバッファリングするWinAPIに、すぐに使用できるタイプがありますか、それとも独自に記述する必要がありますか? appendメソッドについて知っていることから、それらは再割り当てを実行します。

役に立ちましたか?

解決

BSTRをCStringにコピーし、そこですべての変更を行ってから、BSTR / CComBSTRにコピーします。 CStringの割り当てはSysAllocStringLenよりも高速です。

他のヒント

独自に作成する必要があります。 SysAllocStringLenまたはSysReallocString APIを使用して、異なるサイズのバッファーを取得できます。入力文字列に対して機能しますが、NULLを渡して、固定サイズの初期化されていないバッファーを割り当てることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top