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 ReleaseBuffer
GetBufferSetLength 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 ReleaseBuffer
werden 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 CStrBufT
Mindestpufferlä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.