Esiste una versione bufferizzata di CComBSTR che rende più efficiente la concatenazione di stringhe?

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

  •  02-07-2019
  •  | 
  •  

Domanda

Ho diversi progetti in cui ho bisogno di aggiungere stringhe a un oggetto BSTR / CComBSTR / _bstr_t (ad esempio la creazione di un'istruzione SQL dinamica). Esiste un tipo out-of-the-box in WinAPI per bufferizzare la concatenazione (come StringBuilder in .NET) o devo scrivere il mio? Da quello che so sui metodi append, eseguono la riassegnazione.

È stato utile?

Soluzione

Copia il BSTR in un CString, fai tutte le modifiche lì e poi copialo nel BSTR / CComBSTR. Le allocazioni di CString sono più veloci di SysAllocStringLen.

Altri suggerimenti

Devi scrivere il tuo. È possibile utilizzare le API SysAllocStringLen o SysReallocString per ottenere buffer di dimensioni diverse. Funzionano su una stringa di input, ma è possibile passare NULL per allocare un buffer non inizializzato di dimensioni fisse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top