CString::GetBuffer

LPTSTR GetBuffer ( int nMinBufLength );
бросить ( CMemoryException );

Возвращаемое значение

LPTSTR указатель на буфер символов (нулем) объекта.

Параметры

nMinBufLength

Минимальный размер буфера символов в символах. Это значение не включает места для маркера конца строки null.

Примечания

Возвращает указатель на буфер внутренних символов для объекта CString . Возвращенный LPTSTR не const и таким образом позволяет прямого изменения содержимого CString.

Если вы используете указатель, возвращаемый GetBuffer для изменения содержимого строки, необходимо вызвать ReleaseBuffer перед использованием любых других функций-членов CString.

Адрес, возвращаемый GetBuffer не может быть действительным после вызова ReleaseBuffer поскольку дополнительные операции CString могут вызвать CString буфера перераспределить. Буфер не быть перераспределены, если не изменить длину CString.

Память буфера будет освобожден автоматически, когда объект CString уничтожается.

Обратите внимание, что если вы отслеживать длину строки себя, вы не должны добавить концевой нулевой символ. Необходимо однако, указать длину последней строки при освобождении буфер с ReleaseBuffer. Если добавить концевой нулевой символ, вам необходимо пройти –1 для длины для ReleaseBuffer и ReleaseBuffer будет выполнять strlen буфер для определения его длины.

Пример

В следующем примере демонстрируется использование CString::GetBuffer.

/ / Пример для CString::GetBuffer
CString s ("abcd");
# ifdef _DEBUG
afxDump lt; < «CString s» << s << «\n»;
# endif
LPTSTR p = s.GetBuffer (10);
strcpy (p, «Hello»);   / / непосредственный доступ к CString буфер
s.ReleaseBuffer ();
# ifdef _DEBUG
afxDump << «CString s» << s << «\n»;
# endif

Обзор CString |nbsp; Члены класса | Иерархическая схема

См. также CString::GetBufferSetLength, CString::ReleaseBuffer

Index