Freigeben über


CStrBufT-Klasse

Diese Klasse bietet automatische Ressourcenbereinigung für GetBuffer und ReleaseBuffer Aufrufe für ein vorhandenes CStringT Objekt.

Syntax

template<typename TCharType>
class CStrBufT

Parameter

TCharType
Der Zeichentyp der CStrBufT Klasse. Dabei kann es sich um eine der folgenden Methoden handeln:

  • char (für ANSI-Zeichenzeichenfolgen)

  • wchar_t (für Unicode-Zeichenfolgen)

  • TCHAR (für ANSI- und Unicode-Zeichenzeichenfolgen)

Member

Öffentliche Typedefs

Name Beschreibung
PCXSTR Ein Zeiger auf eine konstante Zeichenfolge.
PXSTR Ein Zeiger auf eine Zeichenfolge.
StringType Der Zeichenfolgentyp, dessen Puffer durch Spezialisierungen dieser Klassenvorlage bearbeitet werden soll.

Öffentliche Konstruktoren

Name Beschreibung
CStrBufT::CStrBufT Der Konstruktor für das Zeichenfolgenpufferobjekt.

Öffentliche Methoden

Name Beschreibung
CStrBufT::SetLength Legt die Zeichenpufferlänge des zugeordneten Zeichenfolgenobjekts fest.

Öffentliche Operatoren

Name Beschreibung
CStrBufT::operator PCXSTR Ruft einen const Zeiger auf den Zeichenpuffer des zugeordneten Zeichenfolgenobjekts ab.
CStrBufT::operator PXSTR Ruft einen Zeiger auf den Zeichenpuffer des zugeordneten Zeichenfolgenobjekts ab.

Öffentliche Konstanten

Name Beschreibung
CStrBufT::AUTO_LENGTH Bestimmen Sie automatisch die neue Länge der Zeichenfolge zur Veröffentlichung.
CStrBufT::SET_LENGTH Festlegen der Länge des Zeichenfolgenobjekts zur GetBuffer-Zeit

Hinweise

Diese Klasse wird als Wrapperklasse verwendet, um Aufrufe von GetBuffer und ReleaseBuffer oder GetBufferSetLength und ReleaseBufferGetBufferSetLength zu ersetzen.

In erster Linie als Hilfsklasse konzipiert, bietet ein Entwickler eine bequeme Möglichkeit, CStrBufT mit dem Zeichenpuffer eines Zeichenfolgenobjekts zu arbeiten, ohne sich Gedanken darüber zu machen, wie oder wann sie aufgerufen ReleaseBufferwerden sollen. Dies ist möglich, da das Wrapperobjekt im Falle einer Ausnahme oder mehrerer exitierender Codepfade den Gültigkeitsbereich selbstverständlich verlässt; wodurch der Destruktor die Zeichenfolgenressource freigibt.

Anforderungen

Kopfzeile: atlsimpstr.h

CStrBufT::AUTO_LENGTH

Bestimmen Sie automatisch die neue Länge der Zeichenfolge zur Veröffentlichung.

static const DWORD AUTO_LENGTH = 0x01;

Hinweise

Bestimmen Sie automatisch die neue Länge der Zeichenfolge zur Veröffentlichung. Die Zeichenfolge muss null beendet werden.

CStrBufT::CStrBufT

Erstellt ein Pufferobjekt.

CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);

Parameter

str
Das dem Puffer zugeordnete Zeichenfolgenobjekt. In der Regel verwendet der Entwickler die vordefinierten Typedefs ( CStrBuf TCHAR Variant), CStrBufA (char Variante) und CStrBufW (wchar_t Variante).

nMinLength
Die Mindestlänge des Zeichenpuffers.

dwFlags
Bestimmt, ob die Zeichenfolgenlänge automatisch bestimmt wird. Dabei kann es sich um eine der folgenden Methoden handeln:

  • AUTO_LENGTH Zeichenfolgenlänge wird automatisch bestimmt, wenn CSimpleStringT::Release aufgerufen wird. Die Zeichenfolge muss null beendet werden. Standardwert.

  • SET_LENGTH Zeichenfolgenlänge wird festgelegt, wenn CSimpleStringT::GetBuffer aufgerufen wird.

Hinweise

Erstellt einen Zeichenfolgenpuffer für das zugeordnete Zeichenfolgenobjekt. Während der Konstruktion wird CSimpleStringT::GetBuffer oder CSimpleStringT::GetBufferSetLength aufgerufen.

Beachten Sie, dass der Kopierkonstruktor .private

CStrBufT::operator PCXSTR

Greift direkt auf Zeichen zu, die im zugeordneten Zeichenfolgenobjekt als C-Format-Zeichenfolge gespeichert sind.

operator PCXSTR() const throw();

Rückgabewert

Ein Zeichenzeiger auf die Daten der Zeichenfolge.

Hinweise

Rufen Sie diese Funktion auf, um einen Zeiger auf den Zeichenpuffer eines Zeichenfolgenobjekts zurückzugeben. Der Inhalt des Zeichenfolgenobjekts kann mit diesem Zeiger nicht geändert werden.

CStrBufT::operator PXSTR

Greift direkt auf Zeichen zu, die im zugeordneten Zeichenfolgenobjekt als C-Format-Zeichenfolge gespeichert sind.

operator PXSTR() throw();

Rückgabewert

Ein Zeichenzeiger auf die Daten der Zeichenfolge.

Hinweise

Rufen Sie diese Funktion auf, um einen Zeiger auf den Zeichenpuffer eines Zeichenfolgenobjekts zurückzugeben. Der Entwickler kann den Inhalt des Zeichenfolgenobjekts mit diesem Zeiger ändern.

CStrBufT::P CXSTR

Ein Zeiger auf eine konstante Zeichenfolge.

typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;

CStrBufT::P XSTR

Ein Zeiger auf eine Zeichenfolge.

typedef CSimpleStringT<TCharType>::PXSTR PXSTR;

CStrBufT::SET_LENGTH

Legen Sie die Länge des Zeichenfolgenobjekts zur GetBuffer Zeit fest.

static const DWORD SET_LENGTH = 0x02;

Hinweise

Legen Sie die Länge des Zeichenfolgenobjekts zur GetBuffer-Zeit fest.

Bestimmt, ob CSimpleStringT::GetBuffer und CSimpleStringT::GetBufferSetLength aufgerufen werden, wenn das Zeichenfolgenpufferobjekt erstellt wird.

CStrBufT::SetLength

Legt die Länge des Zeichenpuffers fest.

void SetLength(int nLength);

Parameter

nLength
Die neue Länge des Zeichenpuffers des Zeichenfolgenobjekts.

Hinweis

Muss kleiner oder gleich der im Konstruktor angegebenen CStrBufTMindestpufferlänge sein.

Hinweise

Rufen Sie diese Funktion auf, um die Länge der Zeichenfolge festzulegen, die durch das Pufferobjekt dargestellt wird.

CStrBufT::StringType

Der Zeichenfolgentyp, dessen Puffer durch Spezialisierungen dieser Klassenvorlage bearbeitet werden soll.

typedef CSimpleStringT<TCharType> StringType;

Hinweise

TCharType ist der Zeichentyp, der verwendet wird, um die Klassenvorlage zu spezialisieren.

Siehe auch

Hierarchiediagramm
ATL/MFC Shared Classes