我有几个项目需要将字符串附加到BSTR / CComBSTR / _bstr_t对象(例如,构建动态SQL语句)。 WinAPI中是否有一个开箱即用的类型来缓冲连接(如.NET中的StringBuilder),还是我必须自己编写?根据我对附加方法的了解,他们会执行重新分配。

有帮助吗?

解决方案

将BSTR复制到CString中,在那里进行所有修改,然后将其复制回BSTR / CComBSTR。 CString的分配比SysAllocStringLen快。

其他提示

你必须自己写。您可以使用SysAllocStringLen或SysReallocString API来获取不同大小的缓冲区。它们处理输入字符串,但您可以传递NULL以分配固定大小的未初始化缓冲区。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top