CString::GetBuffer

LPTSTR GetBuffer ( Int nMinBufLength );
werfen ( CMemoryException );

Rückgabewert

Ein LPTSTR -Zeiger auf das Objekt (Null) endende Puffer.

Parameter

nMinBufLength

Die Mindestgröße des Puffers in Zeichen Zeichen. Dieser Wert ist Platz für einen null-Abschlusszeichen nicht enthalten.

Bemerkungen

Gibt einen Zeiger auf den internen Zeichenpuffer für die CString -Objekt zurück. Die zurückgegebene LPTSTR nicht const und ermöglicht so die direkte Änderung der CString -Inhalt.

Wenn Sie den von GetBuffer zurückgegebenen Zeiger verwenden, um Inhalt der Zeichenfolge zu ändern, müssen Sie ReleaseBuffer aufrufen, bevor Sie andere CString -Memberfunktionen verwenden.

Die Adresse von GetBuffer zurückgegebenen möglicherweise nicht gültig nach dem Aufruf von ReleaseBuffer da zusätzliche CString -Operationen verursachen den CString -Puffer neu reserviert werden. Der Puffer werden nicht zugeteilt, wenn Sie nicht die Länge der CString ändern.

Der Pufferspeicher wird automatisch freigegeben werden, wenn das CString -Objekt zerstört wird.

Beachten Sie, dass wenn Sie Nachverfolgen der Länge die Zeichenfolge selbst, sollte Sie nicht das abschließende Nullzeichen angefügt. Sie müssen jedoch die endgültige Zeichenfolgenlänge angeben, bei der Freigabe des Puffers mit ReleaseBuffer. Wenn Sie ein abschließendes Nullzeichen anfügen, sollten Sie 1 für die Dauer an ReleaseBuffer übergeben und ReleaseBuffer führt ein Strlen im Puffer zu bestimmen, ihre Länge.

Beispiel

Das folgende Beispiel veranschaulicht die Verwendung von CString::GetBuffer.

/ / Beispiel für CString::GetBuffer
CString s ("Abcd");
# ifdef _DEBUG
AfxDump Lt; < "CString s" << s << "\n";
# endif
LPTSTR p = s.GetBuffer (10);
Strcpy (p, "Hello");   / / Direktzugriff CString-Puffer
s.ReleaseBuffer ();
# ifdef _DEBUG
AfxDump << "CString s" << s << "\n";
# endif

Übersicht über die CString |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CString::GetBufferSetLength, CString::ReleaseBuffer

Index