我有幾個項目,我需要將字符串追加到BSTR/CComBSTR/_bstr_t對象(例如構建動態SQL語句)。在WinAPI中是否存在用於緩衝連接的開箱即用類型(如.NET中的StringBuilder),還是必須自己寫?根據我所瞭解的追加方法,他們執行重新分配。是否有CComBSTR的緩衝版本,使字符串連接更有效?
0
A
回答
2
將BSTR複製到一個CString中,進行所有修改,然後將其複製回BSTR/CComBSTR。 CString的分配速度比SysAllocStringLen快。
2
你必須自己寫。您可以使用SysAllocStringLen或SysReallocString API來獲取不同大小的緩衝區。它們處理輸入字符串,但可以傳遞NULL來分配固定大小的未初始化緩衝區。
相關問題
- 1. 是否Mgo緩存連接字符串?
- 2. OPL中是否有字符串連接?
- 3. 如何確定我的Azure連接字符串是否有效
- 4. LINQ to SQL,檢查連接字符串的連接是否有效
- 5. 這是更有效的緩衝區操縱:python字符串或數組()
- 6. 加密連接字符串時,aspnet_regiis的版本是否重要?
- 7. 字符串連接vs字符串緩衝區在Javascript中
- 8. 這種切換字符串的方式是否有效?有更有效的嗎?
- 9. 是否有「連續」版本?
- 10. Flyweight:字符串已經在使用字符串池:是否有意義爲Flyweight緩衝字符串對象?
- 11. 檢查UTF16字符串中的所有字符是否有效?
- 12. 連接節點v0.8.1的有效版本
- 13. grails中更有效的字符串連接
- 14. StringBuilder.append的鏈比字符串連接更有效嗎?
- 15. 檢查字符串是否有效
- 16. BASH:測試字符串是否有效
- 17. 當使用var時,Swift是否有二次字符串連接?
- 18. 參數「版本3」的連接字符串格式無效
- 19. 作爲unicode字符串有效地表示一個緩衝區
- 20. 連接字符串的最有效方法是什麼?
- 21. '2.1.1-PREVIEW'不是有效的版本字符串。參數名:版本
- 22. 從套接字緩衝字符串流
- 23. sscanf是否有指向輸入字符串而不是緩衝區的指針?
- 24. Java的printf()方法是否有效連接和打印字符串?
- 25. 檢查字符串是否有有效的數字
- 26. 從字符串池中分配字符串是否有效?
- 27. 這是JAVA MySQL JDBC Google App Engine連接字符串有效嗎?
- 28. 是否有一個可接受的方法來確定一個字符串是否是一個有效的連接字符串?
- 29. 連接字符串無效
- 30. 如何通過有效連接字符來構造字符串?
但CString處理嵌入式NULs的方式與BSTR相同嗎? – Constantin 2009-05-01 22:45:00