我有幾個項目,我需要將字符串追加到BSTR/CComBSTR/_bstr_t對象(例如構建動態SQL語句)。在WinAPI中是否存在用於緩衝連接的開箱即用類型(如.NET中的StringBuilder),還是必須自己寫?根據我所瞭解的追加方法,他們執行重新分配。是否有CComBSTR的緩衝版本,使字符串連接更有效?
0
A
回答
2
將BSTR複製到一個CString中,進行所有修改,然後將其複製回BSTR/CComBSTR。 CString的分配速度比SysAllocStringLen快。
2
你必須自己寫。您可以使用SysAllocStringLen或SysReallocString API來獲取不同大小的緩衝區。它們處理輸入字符串,但可以傳遞NULL來分配固定大小的未初始化緩衝區。
相關問題
- 1. 這是更有效的緩衝區操縱:python字符串或數組()
- 2. 字符串連接vs字符串緩衝區在Javascript中
- 3. 這種切換字符串的方式是否有效?有更有效的嗎?
- 4. 是否有「連續」版本?
- 5. Flyweight:字符串已經在使用字符串池:是否有意義爲Flyweight緩衝字符串對象?
- 6. 檢查UTF16字符串中的所有字符是否有效?
- 7. StringBuilder.append的鏈比字符串連接更有效嗎?
- 8. 檢查字符串是否有效
- 9. 當使用var時,Swift是否有二次字符串連接?
- 10. 連接字符串的最有效方法是什麼?
- 11. sscanf是否有指向輸入字符串而不是緩衝區的指針?
- 12. 連接字符串無效
- 13. 如何通過有效連接字符來構造字符串?
- 14. 連接字符串DNS查找是否被緩存?
- 15. 在Cocoa中是否有更簡潔的方式來連接這些字符串?
- 16. C#中是否有任何連接字符串解析器?
- 17. 是否有連接字符串中golang模板
- 18. 有沒有簡單的知道我的連接字符串是否被加密?
- 19. 是否有可能找出VNC連接是否有效
- 20. 檢查mysql連接是否有效
- 21. 檢查當前的Emacs緩衝區是否包含字符串
- 22. 是否有FolderBrowserDialog的更新版本?
- 23. 是否存在沒有緩衝的OutputStreamWriter?
- 24. 什麼是檢查字符串是否是更大字符串的一部分的最有效方法?
- 25. 對於字符串連接,%s是否真的比+更好?
- 26. 無法確定最有效的字符串連接
- 27. 在PHP中連接字符串的有效方式
- 28. 如何檢查字符串是否是有效的HTTP URL?
- 29. 如何驗證字符串是否是有效的浮點數?
- 30. 確定字符串是否是有效的浮點值
但CString處理嵌入式NULs的方式與BSTR相同嗎? – Constantin 2009-05-01 22:45:00