Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Microsoft Foundation-klassbiblioteket (MFC) och ACTIVE Template Library (ATL) fortsätter att stödjas. Vi lägger dock inte längre till funktioner eller uppdaterar dokumentationen.
Den här klassen tillhandahåller automatisk resursrensning för GetBuffer och ReleaseBuffer anrop på ett befintligt CStringT objekt.
Syntax
template<typename TCharType>
class CStrBufT
Parameterar
TCharType
Klassens CStrBufT teckentyp. Kan vara något av följande:
char(för ANSI-teckensträngar)wchar_t(för Unicode-teckensträngar)TCHAR(för både ANSI- och Unicode-teckensträngar)
Medlemmar
Offentliga typedefs
| Namn | Description |
|---|---|
PCXSTR |
En pekare till en konstant sträng. |
PXSTR |
En pekare till en sträng. |
StringType |
Strängtypen vars buffert ska manipuleras av specialiseringar av den här klassmallen. |
Offentliga konstruktorer
| Namn | Description |
|---|---|
| CStrBufT::CStrBufT | Konstruktorn för strängbuffertobjektet. |
Offentliga metoder
| Namn | Description |
|---|---|
| CStrBufT::SetLength | Anger längden på teckenbufferten för det associerade strängobjektet. |
Offentliga operatörer
| Namn | Description |
|---|---|
| CStrBufT::operator PCXSTR | Hämtar en const pekare till teckenbufferten för det associerade strängobjektet. |
| CStrBufT::operator PXSTR | Hämtar en pekare till teckenbufferten för det associerade strängobjektet. |
Offentliga konstanter
| Namn | Description |
|---|---|
| CStrBufT::AUTO_LENGTH | Bestäm automatiskt den nya längden på strängen vid lanseringen. |
| CStrBufT::SET_LENGTH | Ange längden på strängobjektet vid GetBuffer-tid |
Anmärkningar
Den här klassen används som en omslutningsklass för att ersätta anrop till GetBuffer och ReleaseBuffer, eller GetBufferSetLength och ReleaseBuffer.
I första hand utformad som en hjälpklass, CStrBufT är ett bekvämt sätt för en utvecklare att arbeta med teckenbufferten för ett strängobjekt utan att behöva oroa sig för hur eller när de ska anropa ReleaseBuffer. Detta är möjligt eftersom omslutningsobjektet går utanför omfånget naturligt i händelse av ett undantag eller flera avslutande kodsökvägar. vilket gör att dess destructor frigör strängresursen.
Kravspecifikation
Rubrik: atlsimpstr.h
CStrBufT::AUTO_LENGTH
Bestäm automatiskt den nya längden på strängen vid lanseringen.
static const DWORD AUTO_LENGTH = 0x01;
Anmärkningar
Bestäm automatiskt den nya längden på strängen vid lanseringen. Strängen måste vara null-avslutad.
CStrBufT::CStrBufT
Konstruerar ett buffertobjekt.
CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);
Parameterar
Str
Strängobjektet som är associerat med bufferten. Normalt använder utvecklaren fördefinierade typedefs av CStrBuf (TCHAR-variant), CStrBufA (char variant) och CStrBufW (wchar_t variant).
nMinLength
Minsta längd på teckenbufferten.
dwFlags
Avgör om stränglängden bestäms automatiskt. Kan vara något av följande:
AUTO_LENGTH Stränglängd bestäms automatiskt när CSimpleStringT::Release anropas. Strängen måste vara null-avslutad. Standardvärde.
SET_LENGTH Stränglängd anges när CSimpleStringT::GetBuffer anropas.
Anmärkningar
Skapar en strängbuffert för det associerade strängobjektet. Under konstruktionen anropas CSimpleStringT::GetBuffer eller CSimpleStringT::GetBufferSetLength .
Observera att kopieringskonstruktorn är private.
CStrBufT::operator PCXSTR
Direktåtkomst till tecken som lagras i det associerade strängobjektet som en sträng i C-stil.
operator PCXSTR() const throw();
Returvärde
En teckenpekare till strängens data.
Anmärkningar
Anropa den här funktionen för att returnera en pekare till teckenbufferten för ett strängobjekt. Det går inte att ändra innehållet i strängobjektet med den här pekaren.
CStrBufT::operator PXSTR
Direktåtkomst till tecken som lagras i det associerade strängobjektet som en sträng i C-stil.
operator PXSTR() throw();
Returvärde
En teckenpekare till strängens data.
Anmärkningar
Anropa den här funktionen för att returnera en pekare till teckenbufferten för ett strängobjekt. Utvecklaren kan ändra innehållet i strängobjektet med den här pekaren.
CStrBufT::P CXSTR
En pekare till en konstant sträng.
typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;
CStrBufT::P XSTR
En pekare till en sträng.
typedef CSimpleStringT<TCharType>::PXSTR PXSTR;
CStrBufT::SET_LENGTH
Ange längden på strängobjektet vid GetBuffer tidpunkten.
static const DWORD SET_LENGTH = 0x02;
Anmärkningar
Ange längden på strängobjektet vid GetBuffer-tid.
Avgör om CSimpleStringT::GetBuffer och CSimpleStringT::GetBufferSetLength anropas när strängbuffertobjektet skapas.
CStrBufT::SetLength
Anger längden på teckenbufferten.
void SetLength(int nLength);
Parameterar
nLength
Den nya längden på strängobjektets teckenbuffert.
Anmärkning
Måste vara mindre än eller lika med den minsta buffertlängd som anges i konstruktorn för CStrBufT.
Anmärkningar
Anropa den här funktionen för att ange längden på strängen som representeras av buffertobjektet.
CStrBufT::StringType
Strängtypen vars buffert ska manipuleras av specialiseringar av den här klassmallen.
typedef CSimpleStringT<TCharType> StringType;
Anmärkningar
TCharType är den teckentyp som används för att specialisera klassmallen.