Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.