LPTSTR GetBuffer ( int nMinBufLength );
gettare ( CMemoryException );
Valore restituito
Un puntatore a LPTSTR a buffer di caratteri (a terminazione null) dell'oggetto.
Parametri
nMinBufLength
La dimensione minima del buffer di caratteri in caratteri. Questo valore non include lo spazio per un carattere di terminazione null.
Osservazioni
Restituisce un puntatore al buffer interno di carattere per l'oggetto CString . Il restituito LPTSTR non sia const e quindi permette la modifica diretta del contenuto CString.
Se si utilizza il puntatore restituito dal metodo GetBuffer per modificare il contenuto della stringa, è necessario chiamare ReleaseBuffer prima di utilizzare qualsiasi altre funzioni di membro CString.
L'indirizzo restituito dal metodo GetBuffer potrebbe non essere valida dopo la chiamata a ReleaseBuffer poiché operazioni aggiuntive CString possono causare il buffer CString possono essere riallocate. Il buffer non essere riallocato se non si modifica la lunghezza della CString.
Il buffer di memoria verrà liberata automaticamente quando viene eliminata l'oggetto CString.
Si noti che, se tenere traccia della lunghezza della stringa te stesso, non è necessario aggiungere il carattere di terminazione null. È tuttavia necessario, specificare la lunghezza della stringa finale quando si rilascia il buffer con ReleaseBuffer. Se potete aggiungere un carattere di terminazione null, è necessario passare – 1 per la lunghezza di ReleaseBuffer e ReleaseBuffer si esibirà un strlen il buffer per determinare la lunghezza.
Esempio
Nell'esempio seguente viene illustrato l'utilizzo di CString::GetBuffer.
/ / esempio per CString::GetBuffer
CString s ("abcd");
ifdef debug
afxDump lt; < "CString s" << s << "\n";
# endif
LPTSTR p = s.GetBuffer (10);
strcpy (p, "Hello"); / / direttamente accesso CString tampone
s.ReleaseBuffer ();
ifdef debug
afxDump << "CString s" << s << "\n";
# endif
CString panoramica |nbsp; Membri della classe | Gerarchia Chart
Vedere a&nchenbsp;CString::GetBufferSetLength, CString::ReleaseBuffer