Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az osztály egy objektumot CStringT jelöl.
Szemantika
template<typename BaseType, class StringTraits>
class CStringT :
public CSimpleStringT<BaseType,
_CSTRING_IMPL_::_MFCDLLTraitsCheck<BaseType, StringTraits>::c_bIsMFCDLLTraits>
Paraméterek
BaseType
A sztringosztály karaktertípusa. A következők egyike lehet:
char(ANSI-karaktersztringek esetén).wchar_t(Unicode-karaktersztringek esetén).TCHAR(ANSI- és Unicode-karaktersztringekhez egyaránt).
StringTraits
Meghatározza, hogy a sztringosztálynak szüksége van-e c Run-Time (CRT) kódtárra, és hol találhatók a sztringerőforrások. A következők egyike lehet:
StrTraitATL<wchar_t | char | TCHAR, ChTraitsCRT<wchar_t | char | TCHAR>>Az osztályhoz CRT-támogatás szükséges, és erőforrás-sztringeket keres a megadott
m_hInstResourcemodulban (az alkalmazás modulosztályának egy tagja).StrTraitATL<wchar_t | char | TCHAR, ChTraitsOS<wchar_t | char |TCHAR>>Az osztály nem igényel CRT-támogatást, és nem keres erőforrás-sztringeket a megadott
m_hInstResourcemodulban (az alkalmazás modulosztályának tagja).StrTraitMFC<wchar_t | char | TCHAR, ChTraitsCRT<wchar_t | char | TCHAR>>Az osztályhoz CRT-támogatás szükséges, és a standard MFC keresési algoritmus használatával keres erőforrás-sztringeket.
StrTraitMFC<wchar_t | char | TCHAR, ChTraitsOS<wchar_t | char | TCHAR>>Az osztály nem igényel CRT-támogatást, és nem keres erőforrás-sztringeket a szabványos MFC keresési algoritmus használatával.
Tagok
Nyilvános konstruktorok
| Név | Leírás |
|---|---|
CStringT::CStringT |
Különböző módokon hoz létre objektumokat CStringT . |
CStringT::~CStringT |
Elpusztít egy objektumot CStringT . |
Nyilvános metódusok
| Név | Leírás |
|---|---|
CStringT::AllocSysString |
BSTR
CStringT Adatokat foglal le. |
CStringT::AnsiToOem |
Helyszíni átalakítást végez az ANSI-karakterkészletről az OEM-karakterkészletre. |
CStringT::AppendFormat |
Formázott adatok hozzáfűzése egy meglévő CStringT objektumhoz. |
CStringT::Collate |
Két sztringet hasonlít össze (a kis- és nagybetűk megkülönböztetése területi adatokat használ). |
CStringT::CollateNoCase |
Két sztringet hasonlít össze (a kis- és nagybetűk nem érzékenyek, területi specifikus információkat használnak). |
CStringT::Compare |
Két sztringet hasonlít össze (kis- és nagybetűk megkülönböztetése). |
CStringT::CompareNoCase |
Két sztringet hasonlít össze (a kis- és nagybetűk nem érzékenyek). |
CStringT::Delete |
Karaktert vagy karaktert töröl egy sztringből. |
CStringT::Find |
Megkeres egy karaktert vagy egy nagyobb sztringben lévő részsztringet. |
CStringT::FindOneOf |
Megkeresi az első egyező karaktert egy készletből. |
CStringT::Format |
Formázza a sztringet a következőképpen sprintf . |
CStringT::FormatMessage |
Üzenetsztring formázása. |
CStringT::FormatMessageV |
Üzenetsztring formázása változó argumentumlistával. |
CStringT::FormatV |
Formázza a sztringet az argumentumok változólistájának használatával. |
CStringT::GetEnvironmentVariable |
A sztringet a megadott környezeti változó értékére állítja. |
CStringT::Insert |
Egyetlen karaktert vagy alsztringet szúr be az adott indexbe a sztringen belül. |
CStringT::Left |
Kinyeri egy sztring bal oldali részét. |
CStringT::LoadString |
Betölt egy meglévő CStringT objektumot egy Windows-erőforrásból. |
CStringT::MakeLower |
A sztringben szereplő összes karaktert kisbetűs karakterekké alakítja. |
CStringT::MakeReverse |
Megfordítja a sztringet. |
CStringT::MakeUpper |
A sztring összes karakterét nagybetűssé alakítja. |
CStringT::Mid |
Kinyeri egy sztring középső részét. |
CStringT::OemToAnsi |
Helyben történő átalakítást végez az OEM-karakterkészletről az ANSI-karakterkészletre. |
CStringT::Remove |
Eltávolítja a megadott karaktereket egy sztringből. |
CStringT::Replace |
A megjelölt karaktereket más karakterekre cseréli. |
CStringT::ReverseFind |
Megkeres egy karaktert egy nagyobb sztringben; a végétől kezdődik. |
CStringT::Right |
Kinyeri a sztring megfelelő részét. |
CStringT::SetSysString |
BSTR Meglévő objektumot állít be egy CStringT objektumból származó adatokkal. |
CStringT::SpanExcluding |
Kinyeri a sztringből az első karakterrel kezdődő karaktereket, amelyek nem szerepelnek a megadott karakterkészletben pszCharSet. |
CStringT::SpanIncluding |
Kinyer egy olyan részsztringet, amely csak a halmazban lévő karaktereket tartalmazza. |
CStringT::Tokenize |
Kinyeri a megadott jogkivonatokat egy célsztringben. |
CStringT::Trim |
Levágja az összes kezdő és záró szóköz karaktert a sztringből. |
CStringT::TrimLeft |
Levágja a kezdő szóköz karaktereit a sztringből. |
CStringT::TrimRight |
Levágja a sztring záró szóköz karaktereit. |
Működtetők
| Név | Leírás |
|---|---|
CStringT::operator = |
Új értéket rendel egy CStringT objektumhoz. |
CStringT::operator + |
Összefűz két sztringet, vagy egy karaktert és egy sztringet. |
CStringT::operator += |
Egy meglévő sztring végéhez fűz egy új sztringet. |
CStringT::operator == |
Meghatározza, hogy két sztring logikailag egyenlő-e. |
CStringT::operator != |
Meghatározza, hogy két sztring logikailag nem egyenlő-e. |
CStringT::operator < |
Meghatározza, hogy az operátor bal oldalán lévő sztring kisebb-e, mint a jobb oldalon lévő sztring. |
CStringT::operator > |
Meghatározza, hogy az operátor bal oldalán lévő sztring nagyobb-e, mint a jobb oldalon lévő sztring. |
CStringT::operator <= |
Meghatározza, hogy az operátor bal oldalán lévő sztring kisebb vagy egyenlő-e a jobb oldalon lévő sztringgel. |
CStringT::operator >= |
Meghatározza, hogy az operátor bal oldalán lévő sztring nagyobb vagy egyenlő-e a jobb oldalon lévő sztringnél. |
Megjegyzések
CStringTaz osztálytólCSimpleStringT örökli. A speciális funkciókat, például a karakterkezelést, a rendezést és a keresést a program implementálja CStringT.
Megjegyzés:
CStringT objektumok képesek kivételeket kivenni. Ez akkor fordul elő, ha egy CStringT objektum bármilyen okból elfogy a memóriából.
Az CStringT objektumok változó hosszúságú karaktersorozatból állnak.
CStringT az Alapszintűhöz hasonló szintaxist használó függvényeket és operátorokat biztosít. Az összefűzési és összehasonlító operátorok az egyszerűsített memóriakezeléssel együtt megkönnyítik az objektumok használatát, CStringT mint a hagyományos karaktertömbök.
Megjegyzés:
Bár beágyazott null karaktereket tartalmazó példányok hozhatók létre CStringT , javasoljuk, hogy ellenük. A beágyazott null karaktereket tartalmazó objektumok metódusainak CStringT és operátorainak meghívása nem kívánt eredményeket eredményezhet.
A paraméterek és BaseType a paraméterek StringTraits különböző kombinációinak használatával az CStringT objektumok a következő típusok lehetnek, amelyeket az ATL-kódtárak előre definiáltak.
Ha ATL-alkalmazásban használja:
CString, CStringAés CStringW az MFC DLL-ből (MFC90.DLL) exportálják, soha nem felhasználói DLL-ekből. Ez azért van így, hogy ne CStringT legyen többször definiálva.
Megjegyzés:
Ha a kód tartalmazza a sztringosztályok CStringT használatával történő exportálása során leírt linkerhibák kerülő megoldását, távolítsa el a kódot. Már nincs rá szükség.
Az MFC-alapú alkalmazásokban a következő sztringtípusok érhetők el:
| CStringT-típus | Nyilatkozat |
|---|---|
CStringA |
ANSI-karaktertípus-sztring CRT-támogatással. |
CStringW |
Unicode karaktertípusú sztring CRT-támogatással. |
CString |
ANSI- és Unicode-karaktertípusok is CRT-támogatással. |
A definiált projektekben ATL_CSTRING_NO_CRT a következő sztringtípusok érhetők el:
| CStringT-típus | Nyilatkozat |
|---|---|
CAtlStringA |
ANSI-karakter típusú sztring CRT-támogatás nélkül. |
CAtlStringW |
Unicode karaktertípusú sztring CRT-támogatás nélkül. |
CAtlString |
AZ ANSI- és Unicode-karaktertípusok is CRT-támogatás nélkül. |
A következő sztringtípusok érhetők el olyan projektekben, ahol ATL_CSTRING_NO_CRT nincs definiálva:
| CStringT-típus | Nyilatkozat |
|---|---|
CAtlStringA |
ANSI-karaktertípus-sztring CRT-támogatással. |
CAtlStringW |
Unicode karaktertípusú sztring CRT-támogatással. |
CAtlString |
ANSI- és Unicode-karaktertípusok is CRT-támogatással. |
CString az objektumok a következő jellemzőkkel is rendelkeznek:
CStringTaz összefűzési műveletek miatt az objektumok növekedhetnek.CStringTaz objektumok az "érték szemantikát" követik. Az objektumok tényleges sztringkéntCStringT, nem pedig sztringre mutató mutatóként tekinthetők.A függvényargumentumok objektumait
CStringTszabadon helyettesíthetiPCXSTR.Sztringpufferek egyéni memóriakezelése. További információ: Memóriakezelés és
CStringT.
CStringT előre definiált típusok
Mivel CStringT egy sablonargumentumot használ a támogatott karaktertípus wchar_tchar definiálásához, a metódusparaméter-típusok időnként bonyolultak lehetnek. A probléma egyszerűsítése érdekében előre definiált típusok halmaza van definiálva, és az CStringT egész osztályban használható. Az alábbi táblázat a különböző típusokat sorolja fel:
| Név | Leírás |
|---|---|
XCHAR |
Egyetlen karakter (vagy wchar_tchar) ugyanazzal a karaktertípussal, mint az CStringT objektum. |
YCHAR |
Egyetlen karakter (vagy wchar_tchar) objektumként CStringT az ellenkező karaktertípussal. |
PXSTR |
Mutató egy olyan karaktersztringre (vagy wchar_tchar) , amelynek karaktertípusa megegyezik az CStringT objektummal. |
PYSTR |
Mutató egy karaktersztringre (vagy wchar_tchar) az ellenkező karaktertípussal, mint objektum CStringT . |
PCXSTR |
Mutató egy olyan karaktersztringre const (vagy wchar_tchar) , amelynek karaktertípusa megegyezik az CStringT objektummal. |
PCYSTR |
Mutató egy karaktersztringre const (vagy wchar_tchar ) az ellenkező karaktertípussal, mint objektumCStringT. |
Megjegyzés:
A korábban nem dokumentált metódusokat CString (például AssignCopy) használó kódot olyan kódra kell cserélni, amely a következő dokumentált módszereket CStringT használja (például GetBuffer vagy ReleaseBuffer). Ezek a metódusok a következőtől CSimpleStringTöröklődnek:
Öröklési hierarchia
CStringT
Követelmények
| Fejléc | Használat a következőhöz: |
|---|---|
cstringt.h |
Csak MFC-sztringobjektumok |
atlstr.h |
Nem MFC-sztringobjektumok |
CStringT::AllocSysString
Egy Automation-kompatibilis sztringet foglal le a típusból BSTR , és bemásolja az CStringT objektum tartalmát, beleértve a befejező null karaktert is.
BSTR AllocSysString() const;
Visszaadott érték
Az újonnan lefoglalt sztring.
Megjegyzések
Az MFC-programokban a program osztálytCMemoryException ad, ha nincs elegendő memória. Az ATL-programokban egy CAtlException van dobva. Ezt a függvényt általában az Automation sztringjeinek visszaadására használják.
Ha ezt a sztringet paraméterként [in] adja át egy COM-függvénynek, akkor a hívónak meg kell szabadítnia a sztringet. Ez a Windows SDK-ban leírt módon SysFreeStringvégezhető el. További információ: Memória kiosztása és felszabadítása .BSTR
A Windows OLE foglalási függvényeivel kapcsolatos további információkért lásd SysAllocString a Windows SDK-t.
példa
Az alábbi példa bemutatja a CStringT::AllocSysString használatát.
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("This is a test string!"));
BSTR bstr = str.AllocSysString();
// bstr now contains "This is a test string!", and can be
// passed to any OLE function requiring a BSTR.
// Normally, if you pass the BSTR, you will
// need to free the string after returning from the function call.
CStringT::AnsiToOem
Az objektum összes karakterét CStringT átalakítja az ANSI-karakterkészletből az OEM karakterkészletbe.
void AnsiToOem();
Megjegyzések
A függvény nem érhető el, ha _UNICODE definiálva van.
példa
// OEM character 252 on most IBM-compatible computers in
// many countries/regions is superscript n, as in 2^n.
// Converting it to the ANSI English charset results in a
// normal character 'n', which is the closest possible
// representation.
CStringT<char, StrTraitATL<char, ChTraitsCRT<char>>> str((WCHAR)252);
str.OemToAnsi();
ASSERT(str[0] == 'n');
// Be aware that in OEM to ANSI conversion the 'n'
// from the previous result cannot be converted back to
// a supsercript n because the system does not know what
// the character's value truly was.
str.AnsiToOem();
ASSERT(str[0] != 252);
ASSERT(str[0] == 'n');
CStringT::AppendFormat
Formázott adatok hozzáfűzése egy meglévő CStringT objektumhoz.
void __cdecl AppendFormat(PCXSTR pszFormat, [, argument] ...);
void __cdecl AppendFormat(UINT nFormatID, [, argument] ...);
Paraméterek
pszFormat
Formátumvezérlő sztring.
nFormatID
A formátumvezérlő sztringet tartalmazó sztringerőforrás-azonosító.
argument
Nem kötelező argumentumok.
Megjegyzések
Ez a függvény formáz és fűz hozzá egy sor karaktert és értéket a CStringT. Az egyes választható argumentumok (ha vannak ilyenek) a megfelelő formátumspecifikációnak megfelelően lesznek konvertálva és hozzáfűzve az általuk azonosított sztringerőforrásban pszFormatnFormatIDvagy -forrásból.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str = _T("Some data:\t");
str.AppendFormat(_T("X value = %.2f\n"), 12345.12345);
_tprintf_s(_T("%s"), (LPCTSTR) str);
CStringT::Collate
Két sztringet hasonlít össze az általános szöveg függvénnyel _tcscoll.
int Collate(PCXSTR psz) const throw();
Paraméterek
psz
Az összehasonlításhoz használt másik sztring.
Visszaadott érték
Nulla, ha a sztringek azonosak, 0, ha ez < az objektum kisebb, mint CStringT, vagy psz 0, ha ez az > objektum nagyobb, mint CStringT. psz
Megjegyzések
A fordításkor definiált karakterkészlettől függően a generic-text függvény _tcscolla fordítási időpontban TCHAR.Hstrcollwcscoll_mbscolldefiniált karakterkészlethez igazodik. Minden függvény a jelenleg használt kódlapnak megfelelően kis- és nagybetűkre érzékenyen hasonlítja össze a sztringeket. További információ: strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l_mbscoll_l.
CStringT::CollateNoCase
Két sztringet hasonlít össze az általános szöveg függvénnyel _tcscoll.
int CollateNoCase(PCXSTR psz) const throw();
Paraméterek
psz
Az összehasonlításhoz használt másik sztring.
Visszaadott érték
Nulla, ha a sztringek azonosak (a kis- és nagybetűket figyelmen kívül hagyva), < 0, ha ez az CStringT objektum kisebb, mint psz (a kis- és nagybetűket figyelmen kívül hagyva), vagy 0, ha ez az > objektum nagyobb, mint CStringT (a kis- és psz nagybetűket figyelmen kívül hagyva).
Megjegyzések
A fordításkor definiált karakterkészlettől függően a generic-text függvény _tcscolla fordítási időpontban TCHAR.Hstricollwcsicoll_mbsicolldefiniált karakterkészlethez igazodik. Minden függvény a jelenleg használt kódlapnak megfelelően kis- és nagybetűs összehasonlítást végez a sztringek között. További információ: strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l. _mbscoll_l
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str1 = _T("Co-Op");
CAtlString str2 = _T("con");
int n;
// Collation uses language rules, such as ignoring dashes.
// NoCase version ignores case.
n = str1.CollateNoCase(str2);
ASSERT(n < 0);
// Comparison is a strict ASCII comparison with no language rules
// but still ignores case in NoCase version.
n = str1.CompareNoCase(str2);
ASSERT(n < 0);
CStringT::Compare
Két sztringet hasonlít össze (kis- és nagybetűk megkülönböztetése).
int Compare(PCXSTR psz) const;
Paraméterek
psz
Az összehasonlításhoz használt másik sztring.
Visszaadott érték
Nulla, ha a sztringek azonosak, 0, ha ez < az objektum kisebb, mint CStringT, vagy psz 0, ha ez az > objektum nagyobb, mint CStringT. psz
Megjegyzések
A fordításkor definiált karakterkészlettől függően a generic-text függvény _tcscmpa fordítási időpontban TCHAR.Hstrcmpwcscmp_mbscmpdefiniált karakterkészlethez igazodik. Minden függvény megkülönbözteti a sztringek kis- és nagybetűket, és a területi beállítások nem befolyásolják. További információ: strcmp, wcscmp. _mbscmp
Ha a sztring beágyazott null értékeket tartalmaz, összehasonlítás céljából a sztring az első beágyazott null karakternél csonkoltnak minősül.
példa
Az alábbi példa bemutatja a CStringT::Compare használatát.
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("abc"));
CAtlString s2(_T("abd"));
ASSERT(s1.Compare(s2) < 0); // Compare with another CAtlString.
ASSERT(s1.Compare(_T("abe")) < 0); // Compare with LPTSTR string.
CStringT::CompareNoCase
Két sztringet hasonlít össze (a kis- és nagybetűk nem érzékenyek).
int CompareNoCase(PCXSTR psz) const throw();
Paraméterek
psz
Az összehasonlításhoz használt másik sztring.
Visszaadott érték
Nulla, ha a sztringek azonosak (a kis- és nagybetűket figyelmen kívül hagyva), <0, ha ez az CStringT objektum kisebb, mint psz (a kis- és nagybetűket figyelmen kívül hagyva), vagy 0, ha ez az > objektum nagyobb, mint CStringT (a kis- és psznagybetűket figyelmen kívül hagyva).
Megjegyzések
A fordításkor definiált karakterkészlettől függően az általános szövegfüggvény _tcsicmpa fordítási időpontban TCHAR.Hdefiniált karakterkészletre vagy _stricmpazokra lesz leképezve_wcsicmp_mbsicmp. Minden függvény a sztringek kis- és nagybetűk érzéketlen összehasonlítását végzi. Az összehasonlítás a LC_CTYPE területi beállítástól függ, de nem LC_COLLATE. További információ: _stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l. _mbsicmp_l
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("abc"));
CAtlString s2(_T("ABD"));
ASSERT(s1.CompareNoCase(s2) < 0); // Compare with a CAtlString.
ASSERT(s1.CompareNoCase(_T("ABE")) < 0); // Compare with LPTSTR string.
CStringT::CStringT
Egy CStringT objektumot hoz létre.
CStringT() throw() :
CThisSimpleString(StringTraits::GetDefaultManager());
explicit CStringT(IAtlStringMgr* pStringMgr) throw() :
CThisSimpleString( pStringMgr);
CStringT(const VARIANT& varSrc);
CStringT(const VARIANT& varSrc, IAtlStringMgr* pStringMgr);
CStringT(const CStringT& strSrc) :
CThisSimpleString( strSrc);
operator CSimpleStringT<
BaseType,
!_CSTRING_IMPL_::_MFCDLLTraitsCheck<BaseType, StringTraits>
:: c_bIsMFCDLLTraits> &()
template <bool bMFCDLL>
CStringT(const CSimpleStringT<BaseType, bMFCDLL>& strSrc) :
CThisSimpleString( strSrc);
template <class SystemString>
CStringT(SystemString^ pString) :
CThisSimpleString( StringTraits::GetDefaultManager());
CStringT(const XCHAR* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
CSTRING_EXPLICIT CStringT(const YCHAR* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
CStringT(LPCSTR pszSrc, IAtlStringMgr* pStringMgr) :
CThisSimpleString( pStringMgr);
CStringT(LPCWSTR pszSrc, IAtlStringMgr* pStringMgr) :
CThisSimpleString( pStringMgr);
CSTRING_EXPLICIT CStringT(const unsigned char* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
/*CSTRING_EXPLICIT*/ CStringT(char* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
CSTRING_EXPLICIT CStringT(unsigned char* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
CSTRING_EXPLICIT CStringT(wchar_t* pszSrc) :
CThisSimpleString( StringTraits::GetDefaultManager());
CStringT(const unsigned char* pszSrc, IAtlStringMgr* pStringMgr) :
CThisSimpleString( pStringMgr);
CSTRING_EXPLICIT CStringT(char ch, int nLength = 1) :
CThisSimpleString( StringTraits::GetDefaultManager());
CSTRING_EXPLICIT CStringT(wchar_t ch, int nLength = 1) :
CThisSimpleString( StringTraits::GetDefaultManager());
CStringT(const XCHAR* pch, int nLength) :
CThisSimpleString( pch, nLength, StringTraits::GetDefaultManager());
CStringT(const YCHAR* pch, int nLength) :
CThisSimpleString( StringTraits::GetDefaultManager());
CStringT(const XCHAR* pch, int nLength, AtlStringMgr* pStringMgr) :
CThisSimpleString( pch, nLength, pStringMgr);
CStringT(const YCHAR* pch, int nLength, IAtlStringMgr* pStringMgr) :
CThisSimpleString( pStringMgr);
Paraméterek
pch
Mutató egy hosszú nLength, nem null értékű karaktertömbre.
nLength
A karakterek számának száma a következőben pch: .
ch
Egyetlen karakter.
pszSrc
Az objektumba CStringT másolandó null értékű sztring.
pStringMgr
Az objektum memóriakezelőjének CStringT mutatója. További információ a memóriakezelésről IAtlStringMgr és a memóriakezelésről CStringT: Memóriakezelés a CStringT használatával.
strSrc
Az objektumba CStringT másolandó meglévő CStringT objektum. További információt CThisStringCThisSimpleStringa Megjegyzések szakaszban talál.
varSrc
Ebbe az objektumba CStringT másolandó változatobjektum.
BaseType
A sztringosztály karaktertípusa. A következők egyike lehet:
char (ANSI-karaktersztringek esetén).
wchar_t (Unicode-karaktersztringek esetén).
TCHAR (ANSI- és Unicode-karaktersztringekhez egyaránt).
bMFCDLL
Logikai érték, amely meghatározza, hogy a projekt MFC DLL -e (TRUE) vagy sem (FALSE).
SystemString
Kell lennie System::String, és a projektet a következővel /clrkell lefordítani: .
pString
Egy objektum fogópontja CStringT .
Megjegyzések
Mivel a konstruktorok a bemeneti adatokat új lefoglalt tárolóba másolják, memóriakivételek következhetnek be. Ezen konstruktorok némelyike konverziós függvényként működik. Ez lehetővé teszi például LPTSTRCStringT egy objektum pótlását.
CStringT(LPCSTRlpsz): Unicode-tCStringThoz létre EGY ANSI-sztringből. Ezzel a konstruktorsal is betölthet egy sztringerőforrást az alábbi példában látható módon.CStringT(LPCWSTRlpsz): Unicode-sztringből hoz létre egyCStringTelemet.CStringT(const unsigned char*psz): Lehetővé teszi, hogy hozzon létre egyCStringTmutatót.unsigned char
Megjegyzés:
Adja meg a makrót az _CSTRING_DISABLE_NARROW_WIDE_CONVERSION ANSI és Unicode sztringek közötti implicit sztring-átalakítás kikapcsolásához. A makró kizárja az átalakítást támogató fordítási konstruktorokat.
A strSrc paraméter lehet egy CStringT vagy CThisSimpleString objektum. Ehhez CStringThasználja az egyik alapértelmezett példányt (CStringvagy CStringACStringW); a CThisSimpleStringmutatótthis.
CThisSimpleString Deklarálja az CSimpleStringT osztály egy példányát, amely egy kisebb sztringosztály, amely kevésbé beépített funkciókkal rendelkezik, mint az CStringT osztály.
A túlterhelési operátor CSimpleStringT<>&() deklarációból CStringT hoz létre objektumot CSimpleStringT .
Megjegyzés:
Bár beágyazott null karaktereket tartalmazó példányok hozhatók létre CStringT , javasoljuk, hogy ellenük. A beágyazott null karaktereket tartalmazó objektumok metódusainak CStringT és operátorainak meghívása nem kívánt eredményeket eredményezhet.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1; // Empty string
CAtlString s2(_T("cat")); // From a C string literal
CAtlString s3 = s2; // Copy constructor
CAtlString s4(s2 + _T(" ") + s3); // From a string expression
CAtlString s5(_T('x')); // s5 = "x"
CAtlString s6(_T('x'), 6); // s6 = "xxxxxx"
CAtlString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"
VARIANT var;
V_VT(&var) = VT_BSTR;
V_BSTR(&var) = ::SysAllocString(L"Football is a fun sport.");
CAtlString s8(var); // s8 = "Football is a fun sport."
// The following statement does not call the assignment operator.
// The compiler considers the following statement equivalent to
// CAtlString city("Paris")
CAtlString city = _T("Paris");
CStringT::~CStringT
Elpusztítja az CStringT objektumot.
~CStringT() throw();
Megjegyzések
Elpusztítja az CStringT objektumot.
CStringT::Delete
Egy karaktert vagy karaktert töröl egy sztringből, kezdve az adott indexben lévő karakterrel.
int Delete(int iIndex, int nCount = 1);
Paraméterek
iIndex
A törölni kívánt objektum első karakterének CStringT nulla alapú indexe.
nCount
Az eltávolítandó karakterek száma.
Visszaadott érték
A módosított sztring hossza.
Megjegyzések
Ha nCount hosszabb, mint a sztring, a sztring többi része el lesz távolítva.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("Soccer is best, but hockey is quicker!"));
_tprintf_s(_T("Before: %s\n"), (LPCTSTR)str);
int n = str.Delete(6, 3);
_tprintf_s(_T("After: %s\n"), (LPCTSTR)str);
ASSERT(n == str.GetLength());
Before: Soccer is best,
but hockey is quicker!
After: Soccer best,
but hockey is quicker!
CStringT::Find
Ebben a sztringben megkeresi egy karakter vagy alsztring első egyezését.
int Find(PCXSTR pszSub, int iStart=0) const throw();
int Find(XCHAR ch, int iStart=0) const throw();
Paraméterek
pszSub
A kereséshez szükséges részszúrás.
iStart
A sztringben lévő karakter indexe a keresés megkezdéséhez, vagy 0 az elejétől kezdve.
ch
Egyetlen keresendő karakter.
Visszaadott érték
Az objektum első karakterének CStringT nulla alapú indexe, amely megfelel a kért részstringnek vagy karakternek; -1, ha az alsztring vagy a karakter nem található.
Megjegyzések
A függvény túlterhelt, hogy fogadja el az egykaraktert (a futásidejű függvényhez strchrhasonlóan) és a sztringeket is (hasonló).strstr
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcdef"));
ASSERT(s.Find(_T('c')) == 2);
ASSERT(s.Find(_T("de")) == 3);
CAtlString str(_T("The waves are still"));
int n = str.Find(_T('e'), 5);
ASSERT(n == 7);
CStringT::FindOneOf
Ebben a sztringben megkeresi az első karaktert, amely megfelel a benne található karaktereknek pszCharSet.
int FindOneOf(PCXSTR pszCharSet) const throw();
Paraméterek
pszCharSet
Karakterlánc, amely karaktereket tartalmaz az egyeztetéshez.
Visszaadott érték
A sztring első karakterének nulla alapú indexe, amely szintén benne pszCharSetvan; -1, ha nincs egyezés.
Megjegyzések
A bármelyik karakterének első előfordulását keresi meg.pszCharSet
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcdef"));
ASSERT(s.FindOneOf(_T("xd")) == 3); // 'd' is first match
CStringT::Format
A formázott adatokat CStringT ugyanúgy írja le, mint sprintf_s egy C stílusú karaktertömböt.
void __cdecl Format(UINT nFormatID, [, argument]...);
void __cdecl Format(PCXSTR pszFormat, [, argument] ...);
Paraméterek
nFormatID
A formátumvezérlő sztringet tartalmazó sztringerőforrás-azonosító.
pszFormat
Formátumvezérlő sztring.
argument
Nem kötelező argumentumok.
Megjegyzések
Ez a függvény karakterek és értékek sorozatát formázja és tárolja a CStringTfájlban. Az egyes választható argumentumok (ha vannak ilyenek) konvertálása és kimenete a megfelelő formátumspecifikációnak megfelelően történik az általuk azonosított sztringerőforrásban pszFormatnFormatIDvagy -forrásból.
A hívás sikertelen lesz, ha maga a sztringobjektum paraméterként van felajánlva.Format A következő kód például kiszámíthatatlan eredményeket fog eredményezni:
CAtlString str = _T("Some Data");
str.Format(_T("%s%d"), str, 123);
// Attention: str is also used in the parameter list.
További információ: Formátumspecifikáció szintaxisa: printf és wprintf Függvények.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
str.Format(_T("Floating point: %.2f\n"), 12345.12345);
_tprintf_s(_T("%s"), (LPCTSTR) str);
str.Format(_T("Left-justified integer: %.6d\n"), 35);
_tprintf_s(_T("%s"), (LPCTSTR) str);
CStringT::FormatMessage
Üzenetsztring formázása.
void __cdecl FormatMessage(UINT nFormatID, [, argument]...);
void __cdecl FormatMessage(PCXSTR pszFormat, [, argument]...);
Paraméterek
nFormatID
A formázatlan üzenetszöveget tartalmazó sztringerőforrás-azonosító.
pszFormat
A formátumvezérlő sztringre mutat. A program beolvasja a beszúrásokat, és ennek megfelelően formázza. A formátumsztring hasonló a futásidejű függvény printf-stílusú formázási sztringekhez, de lehetővé teszi a paraméterek tetszőleges sorrendbe való beszúrását.
argument
Nem kötelező argumentumok.
Megjegyzések
A függvény bemenetként üzenetdefiníciót igényel. Az üzenetdefiníciót a megadott sztringerőforrás pszFormatnFormatIDhatározza meg. A függvény átmásolja a formázott üzenetszöveget az objektumba, és szükség esetén feldolgozza a CStringT beágyazott beszúrási sorozatokat.
Megjegyzés:
FormatMessage megpróbálja lefoglalni a rendszermemóriát az újonnan formázott sztringhez. Ha ez a kísérlet sikertelen, a rendszer automatikusan memóriakivételt jelez.
Minden beszúrásnak rendelkeznie kell egy megfelelő paraméterrel a vagy pszFormat paraméter nFormatID után. Az üzenet szövegében számos feloldósorozat támogatott az üzenet dinamikus formázásához. További információ: Windows FormatMessage függvény a Windows SDK-ban.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
int nAsked = 5;
int nAgree = 4;
str.FormatMessage(_T("%1!d! of %2!d! writers agree: Soccer is %3%!"),
nAgree, nAsked, _T("Best"));
ASSERT(str == _T("4 of 5 writers agree: Soccer is Best!"));
CStringT::FormatMessageV
Üzenetsztring formázása változó argumentumlistával.
void FormatMessageV(PCXSTR pszFormat, va_list* pArgList);
Paraméterek
pszFormat
A formátumvezérlő sztringre mutat. A program beolvasja a beszúrásokat, és ennek megfelelően formázza. A formátumsztring hasonló a futásidejű függvény printf-stílusú formázási sztringekhez, de lehetővé teszi a paraméterek tetszőleges sorrendbe való beszúrását.
pArgList
Mutató az argumentumok listájára.
Megjegyzések
A függvény bemenetként egy üzenetdefiníciót igényel, amelyet a pszFormatfüggvény határoz meg. A függvény átmásolja a formázott üzenetszöveget és az argumentumok változólistáját az objektumba, és szükség esetén feldolgozza a CStringT beágyazott beszúrási sorozatokat.
Megjegyzés:
FormatMessageV hívásokat CStringT::FormatMessage, amelyek megkísérlik lefoglalni a rendszermemóriát az újonnan formázott sztringhez. Ha ez a kísérlet sikertelen, a rendszer automatikusan memóriakivételt jelez.
További információ: Windows FormatMessage függvény a Windows SDK-ban.
CStringT::FormatV
Üzenetsztring formázása változó argumentumlistával.
void FormatV(PCXSTR pszFormat, va_list args);
Paraméterek
pszFormat
A formátumvezérlő sztringre mutat. A program beolvasja a beszúrásokat, és ennek megfelelően formázza. A formátumsztring hasonló a futásidejű függvény printf-stílusú formázási sztringekhez, de lehetővé teszi a paraméterek tetszőleges sorrendbe való beszúrását.
args
Mutató az argumentumok listájára.
Megjegyzések
Formázott sztringet és argumentumok változólistáját ugyanúgy írja egy sztringbe CStringT , ahogyan vsprintf_s az adatokat C stílusú karaktertömbbe formázza.
példa
void WriteString(LPCTSTR pstrFormat, ...)
{
CString str;
// format and write the data you were given
va_list args;
va_start(args, pstrFormat);
str.FormatV(pstrFormat, args);
va_end(args);
_tprintf_s(str);
return;
}
// Call the above WriteString function.
WriteString(_T("%d error(s) found in %d line(s)"), 10, 1351);
CStringT::GetEnvironmentVariable
A sztringet a megadott környezeti változó értékére állítja.
BOOL GetEnvironmentVariable(PCXSTR pszVar);
Paraméterek
pszVar
Mutasson egy null értékű sztringre, amely megadja a környezeti változót.
Visszaadott érték
Nonzero, ha sikeres; egyéb esetben 0.
Megjegyzések
Lekéri a megadott változó értékét a hívási folyamat környezeti blokkjából. Az érték null értékű karaktersorozat formájában van megadva.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString EnvStr;
EnvStr.GetEnvironmentVariable(_T("TEMP"));
_tprintf_s(_T("Current value of TEMP variable: %s\n"), EnvStr);
CStringT::Insert
Egyetlen karaktert vagy alsztringet szúr be az adott indexbe a sztringen belül.
int Insert(int iIndex, PCXSTR psz);
int Insert(int iIndex, XCHAR ch);
Paraméterek
iIndex
Annak a karakternek az indexe, amely előtt a beszúrás megtörténik.
psz
A beszúrni kívánt részszúrás mutatója.
ch
A beszúrandó karakter.
Visszaadott érték
A módosított sztring hossza.
Megjegyzések
A iIndex paraméter azonosítja az első karaktert, amelyet áthelyez, hogy helyet biztosítson a karakternek vagy az alsztringnek. Ha nIndex nulla, a beszúrás a teljes sztring előtt történik. Ha az nIndex nagyobb, mint a sztring hossza, a függvény összefűzi a jelenlegi sztringet és az új anyagot, amelyet vagy ch a psz.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("SoccerBest"));
int n = str.Insert(6, _T("is "));
ASSERT(n == str.GetLength());
_tprintf_s(_T("1: %s\n"), (LPCTSTR) str);
n = str.Insert(6, _T(' '));
ASSERT(n == str.GetLength());
_tprintf_s(_T("2: %s\n"), (LPCTSTR) str);
n = str.Insert(55, _T('!'));
ASSERT(n == str.GetLength());
_tprintf_s(_T("3: %s\n"), (LPCTSTR) str);
CStringT::Left
Kinyeri a bal szélső nCount karaktereket ebből az CStringT objektumból, és visszaadja a kinyert részszúrás másolatát.
CStringT Left(int nCount) const;
Paraméterek
nCount
Az objektumból CStringT kinyerendő karakterek száma.
Visszaadott érték
Egy CStringT objektum, amely a megadott karaktertartomány másolatát tartalmazza. Előfordulhat, hogy a visszaadott CStringT objektum üres.
Megjegyzések
Ha nCount meghaladja a sztring hosszát, a teljes sztring ki lesz nyerve.
Left hasonló az Alapszintű Left függvényhez.
A több bájtos karakterkészletek (MBCS) nCount minden 8 bites sorozatot karakterként kezelnek, így nCount a több bájtos karakterek száma kettővel megszorozva lesz.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcdef"));
ASSERT(s.Left(2) == _T("ab"));
CStringT::LoadString
Beolvassa az nID által azonosított Windows-sztringerőforrást egy meglévő CStringT objektumba.
BOOL LoadString(HINSTANCE hInstance, UINT nID, WORD wLanguageID);
BOOL LoadString(HINSTANCE hInstance, UINT nID);
BOOL LoadString(UINT nID);
Paraméterek
hInstance
A modul példányának leírója.
nID
Egy Windows-sztring erőforrás-azonosítója.
wLanguageID
A sztringerőforrás nyelve.
Visszaadott érték
Nem, ha az erőforrás-terhelés sikeres volt; egyéb esetben 0.
Megjegyzések
Betölti a sztringerőforrást (nID) a megadott modulból (hInstance) a megadott nyelvvel (wLanguage).
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s;
s.LoadString(IDS_APP_TITLE);
CStringT::MakeLower
Az objektumot kisbetűs CStringT sztringgé alakítja.
CStringT& MakeLower();
Visszaadott érték
Az eredményül kapott kisbetűs sztring.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("ABC"));
ASSERT(s.MakeLower() == _T("abc"));
CStringT::MakeReverse
Megfordítja az objektumban lévő karakterek sorrendjét CStringT .
CStringT& MakeReverse();
Visszaadott érték
Az eredményül kapott fordított sztring.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abc"));
ASSERT(s.MakeReverse() == _T("cba"));
CStringT::MakeUpper
Az objektumot nagybetűs CStringT sztringgé alakítja.
CStringT& MakeUpper();
Visszaadott érték
Az eredményül kapott nagybetűs sztring.
Megjegyzések
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abc"));
ASSERT(s.MakeUpper() == _T("ABC"));
CStringT::Mid
Kinyeri a hosszkaraktereket nCount ebből az CStringT objektumból, a pozíciótól iFirst kezdve (nulla-alapú).
CStringT Mid(int iFirst, int nCount) const;
CStringT Mid(int iFirst) const;
Paraméterek
iFirst
Az objektum első karakterének CStringT nullaalapú indexe, amelyet a kinyert részszűrés tartalmaz.
nCount
Az objektumból CStringT kinyerendő karakterek száma. Ha ez a paraméter nincs megadva, a rendszer kinyeri a sztring többi részét.
Visszaadott érték
Egy CStringT objektum, amely a megadott karaktertartomány másolatát tartalmazza. Előfordulhat, hogy a visszaadott CStringT objektum üres.
Megjegyzések
A függvény visszaadja a kinyert részszúrás másolatát.
Mid hasonló az Alapszintű közép függvényhez (azzal a kivételel, hogy az Alapszintű indexek egy-alapúak).
A többbájtos karakterkészletek (MBCS) nCount minden 8 bites karakterre vonatkoznak, vagyis egy többbájtos karakterben az érdeklődő és a nyomvonal bájtja két karakternek számít.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcdef"));
ASSERT(s.Mid(2, 3) == _T("cde"));
CStringT::OemToAnsi
Az objektum összes karakterét CStringT átalakítja az OEM-karakterkészletből az ANSI-karakterkészletbe.
void OemToAnsi();
Megjegyzések
Ez a függvény nem érhető el, ha _UNICODE definiálva van.
példa
Lásd a példát a CStringT::AnsiToOem.
CStringT::operator =
Új értéket rendel a sztringhez.
CStringT& operator=(const CStringT& strSrc);
template<bool bMFCDLL>
CStringT& operator=(const CSimpleStringT<BaseType, bMFCDLL>& str);
CStringT& operator=(PCXSTR pszSrc);
CStringT& operator=(PCYSTR pszSrc);
CStringT& operator=(const unsigned char* pszSrc);
CStringT& operator=(XCHAR ch);
CStringT& operator=(YCHAR ch);
CStringT& operator=(const VARIANT& var);
Paraméterek
strSrc
A CStringT a sztringhez rendelhető.
str
Hivatkozás egy CThisSimpleString objektumra.
bMFCDLL
Logikai érték, amely meghatározza, hogy a projekt MFC DLL-e vagy sem.
BaseType
A sztring alaptípusa.
var
A sztringhez hozzárendelendő variánsobjektum.
ch
A sztringhez hozzárendelendő ANSI- vagy Unicode-karakter.
pszSrc
Mutató a hozzárendelt eredeti sztringre.
Megjegyzések
A hozzárendelési operátor egy másik CStringT objektumot, egy karaktermutatót vagy egy karaktert fogad el. Memóriakivételek akkor fordulhatnak elő, ha ezt az operátort használja, mert új tárterületet lehet lefoglalni.
További információkért CThisSimpleStringlásd a Megjegyzések szakaszt CStringT::CStringT.
Megjegyzés:
Bár beágyazott null karaktereket tartalmazó példányok hozhatók létre CStringT , javasoljuk, hogy ellenük. A beágyazott null karaktereket tartalmazó objektumok metódusainak CStringT és operátorainak meghívása nem kívánt eredményeket eredményezhet.
CStringT::operator +
Összefűz két sztringet vagy egy karaktert és egy sztringet.
friend CStringT operator+(const CStringT& str1, const CStringT& str2);
friend CStringT operator+(const CStringT& str1, PCXSTR psz2);
friend CStringT operator+(PCXSTR psz1, const CStringT& str2);
friend CStringT operator+(char ch1, const CStringT& str2);
friend CStringT operator+(const CStringT& str1, char ch2);
friend CStringT operator+(const CStringT& str1, wchar_t ch2);
friend CStringT operator+(wchar_t ch1, const CStringT& str2);
Paraméterek
ch1
Egy ANSI- vagy Unicode-karakter, amely sztringgel összefűzendő.
ch2
Egy ANSI- vagy Unicode-karakter, amely sztringgel összefűzendő.
str1
A CStringT sztringgel vagy karakterrel összefűzendő.
str2
A CStringT sztringgel vagy karakterrel összefűzendő.
psz1
Egy null értékű sztringre mutató mutató, amely összefűz egy sztringgel vagy karakterrel.
psz2
Egy sztringre mutató mutató, amely összefűz egy sztringgel vagy karakterrel.
Megjegyzések
A függvénynek hét túlterhelési CStringT::operator+ formája van. Az első verzió két meglévő CStringT objektumot fűz össze. A következő kettő összefűz egy CStringT objektumot és egy null értékű sztringet. A következő kettő összefűz egy CStringT objektumot és egy ANSI-karaktert. Az utolsó kettő összefűz egy CStringT objektumot és egy Unicode-karaktert.
Megjegyzés:
Bár beágyazott null karaktereket tartalmazó példányok hozhatók létre CStringT , javasoljuk, hogy ellenük. A beágyazott null karaktereket tartalmazó objektumok metódusainak CStringT és operátorainak meghívása nem kívánt eredményeket eredményezhet.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("dog ")), s2(_T(" awake")), s3; // Empty CAtlString objects
s1= _T("The ") + s1;
s3= s1 + _T('i');
s3= s3 + _T('s');
s3= s3 + s2;
ASSERT(s3 == _T("The dog is awake"));
CStringT::operator +=
Összefűzi a karaktereket a sztring végéig.
CStringT& operator+=(const CThisSimpleString& str);
template<bool bMFCDLL>
CStringT& operator+=(const const CSimpleStringT<BaseType, bMFCDLL>& str);
template<int t_nSize>
CStringT& operator+=(const CStaticString<XCHAR, t_nSize>& strSrc);
CStringT& operator+=(PCXSTR pszSrc);
CStringT& operator+=(PCYSTR pszSrc);
CStringT& operator+=(char ch);
CStringT& operator+=(unsigned char ch);
CStringT& operator+=(wchar_t ch);
CStringT& operator+=(const VARIANT& var);
Paraméterek
str
Hivatkozás egy CThisSimpleString objektumra.
bMFCDLL
Logikai érték, amely meghatározza, hogy a projekt MFC DLL-e vagy sem.
BaseType
A sztring alaptípusa.
var
A sztringhez fűzendő variánsobjektum.
ch
Egy ANSI- vagy Unicode-karakter, amely sztringgel összefűzendő.
pszSrc
Az összefűzött eredeti sztringre mutató mutató.
strSrc
A CStringT a sztring összefűzéséhez.
Megjegyzések
Az operátor egy másik CStringT objektumot, egy karaktermutatót vagy egy karaktert fogad el. Memóriakivételek akkor fordulhatnak elő, ha ezt az összefűzési operátort használja, mert az objektumhoz CStringT hozzáadott karakterek számára új tárterület foglalható le.
További információkért CThisSimpleStringlásd a Megjegyzések szakaszt CStringT::CStringT.
Megjegyzés:
Bár beágyazott null karaktereket tartalmazó példányok hozhatók létre CStringT , javasoljuk, hogy ellenük. A beágyazott null karaktereket tartalmazó objektumok metódusainak CStringT és operátorainak meghívása nem kívánt eredményeket eredményezhet.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abc"));
ASSERT((s += _T("def")) == _T("abcdef"));
CStringT::operator ==
Meghatározza, hogy két sztring logikailag egyenlő-e.
friend bool operator==(const CStringT& str1, const CStringT& str2) throw();
friend bool operator==(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator==(const CStringT& str1, PCYSTR psz2) throw();
friend bool operator==(const CStringT& str1, XCHAR ch2) throw();
friend bool operator==(PCXSTR psz1, const CStringT& str2) throw();
friend bool operator==(PCYSTR psz1, const CStringT& str2) throw();
friend bool operator==(XCHAR ch1, const CStringT& str2) throw();
Paraméterek
ch1
ANSI- vagy Unicode-karakter összehasonlításhoz.
ch2
ANSI- vagy Unicode-karakter összehasonlításhoz.
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy null értékű sztringre összehasonlítás céljából.
psz2
Mutató egy null értékű sztringre összehasonlítás céljából.
Megjegyzések
Azt ellenőrzi, hogy a bal oldalon lévő sztring vagy karakter egyenlő-e a jobb oldalon lévő sztringgel vagy karakterrel, és visszaadja TRUE vagy FALSE ennek megfelelően.
példa
// typedef CStringT< TCHAR, StrTraitATL< TCHAR > > CAtlString;
CAtlString s1(_T("dog")), s2(_T("f")), s3(_T("dog"));
ASSERT(s1 == _T("dog"));
ASSERT(s2 == _T('f'));
ASSERT(s1 == s3);
CStringT::operator !=
Meghatározza, hogy két sztring logikailag nem egyenlő-e.
friend bool operator!=(const CStringT& str1, const CStringT& str2) throw();
friend bool operator!=(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator!=(const CStringT& str1, PCYSTR psz2) throw();
friend bool operator!=(const CStringT& str1, XCHAR ch2) throw();
friend bool operator!=(PCXSTR psz1, const CStringT& str2) throw();
friend bool operator!=(PCYSTR psz1, const CStringT& str2) throw();
friend bool operator!=(XCHAR ch1, const CStringT& str2) throw();
Paraméterek
ch1
Egy ANSI- vagy Unicode-karakter, amely sztringgel összefűzendő.
ch2
Egy ANSI- vagy Unicode-karakter, amely sztringgel összefűzendő.
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy null értékű sztringre összehasonlítás céljából.
psz2
Mutató egy null értékű sztringre összehasonlítás céljából.
Megjegyzések
Ellenőrzi, hogy a bal oldalon lévő sztring vagy karakter nem egyenlő-e a jobb oldalon lévő sztringgel vagy karakterrel.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("cat")), s2(_T("f")), s3(_T("horse"));
ASSERT(s1 != _T("dog"));
ASSERT(s2 != _T('t'));
ASSERT(s1 != s2);
CStringT::operator <
Meghatározza, hogy az operátor bal oldalán lévő sztring kisebb-e, mint a jobb oldalon lévő sztring.
friend bool operator<(const CStringT& str1, const CStringT& str2) throw();
friend bool operator<(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator<(PCXSTR psz1, const CStringT& str2) throw();
Paraméterek
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy null értékű sztringre összehasonlítás céljából.
psz2
Mutató egy null értékű sztringre összehasonlítás céljából.
Megjegyzések
A sztringek lexikográfiai összehasonlítása karakter szerint a következőig:
A függvény két megfelelő karaktert egyenlőtlennek talál, és az összehasonlítás eredménye a sztringek összehasonlítása lesz.
Nem talál egyenlőtlenségeket, de az egyik sztring több karaktert tartalmaz, mint a másik, és a rövidebb sztring kisebb, mint a hosszabb sztring.
Nem talál egyenlőtlenségeket, és megállapítja, hogy a sztringek száma azonos, így a sztringek egyenlőek.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("cat")), s2(_T("cats")), s3(_T("dogs"));
ASSERT(s1 < _T("dog"));
ASSERT(s1 < _T("cats"));
ASSERT(s2 < _T("cats and dogs"));
ASSERT(s2 < s3);
CStringT::operator >
Meghatározza, hogy az operátor bal oldalán lévő sztring nagyobb-e, mint a jobb oldalon lévő sztring.
friend bool operator>(const CStringT& str1, const CStringT& str2) throw();
friend bool operator>(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator>(PCXSTR psz1, const CStringT& str2) throw();
Paraméterek
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy null értékű sztringre összehasonlítás céljából.
psz2
Mutató egy null értékű sztringre összehasonlítás céljából.
Megjegyzések
A sztringek lexikográfiai összehasonlítása karakter szerint a következőig:
A függvény két megfelelő karaktert egyenlőtlennek talál, és az összehasonlítás eredménye a sztringek összehasonlítása lesz.
Nem talál egyenlőtlenségeket, de az egyik sztring több karaktert tartalmaz, mint a másik, és a rövidebb sztring kisebb, mint a hosszabb sztring.
Nem talál egyenlőtlenségek, és megállapítja, hogy a sztringek száma azonos, így a sztringek egyenlőek.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("cat")), s2(_T("cats")), s3(_T("dogs"));
ASSERT(_T("dog") > s1);
ASSERT(_T("cats") > s1);
ASSERT(_T("cats and dogs") > s2);
ASSERT(s3 > s2);
CStringT::operator <=
Meghatározza, hogy az operátor bal oldalán lévő sztring kisebb vagy egyenlő-e a jobb oldalon lévő sztringgel.
friend bool operator<=(const CStringT& str1, const CStringT& str2) throw();
friend bool operator<=(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator<=(PCXSTR psz1, const CStringT& str2) throw();
Paraméterek
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy null értékű sztringre összehasonlítás céljából.
psz2
Mutató egy null értékű sztringre összehasonlítás céljából.
Megjegyzések
A sztringek lexikográfiai összehasonlítása karakter szerint a következőig:
A függvény két megfelelő karaktert egyenlőtlennek talál, és az összehasonlítás eredménye a sztringek összehasonlítása lesz.
Nem talál egyenlőtlenségeket, de az egyik sztring több karaktert tartalmaz, mint a másik, és a rövidebb sztring kisebb, mint a hosszabb sztring.
Nem talál egyenlőtlenségek, és megállapítja, hogy a sztringek száma azonos, így a sztringek egyenlőek.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("cat")), s2(_T("cats")), s3(_T("dogs"));
ASSERT(s1 <= _T("dog"));
ASSERT(s1 <= _T("cat"));
ASSERT(s3 <= _T("dogs and cats"));
ASSERT(s2 <= s3);
CStringT::operator >=
Meghatározza, hogy az operátor bal oldalán lévő sztring nagyobb vagy egyenlő-e a jobb oldalon lévő sztringgel.
friend bool operator>=(const CStringT& str1, const CStringT& str2) throw();
friend bool operator>=(const CStringT& str1, PCXSTR psz2) throw();
friend bool operator>=(PCXSTR psz1, const CStringT& str2) throw();
Paraméterek
str1
A CStringT az összehasonlításhoz.
str2
A CStringT az összehasonlításhoz.
psz1
Mutató egy sztringre összehasonlítás céljából.
psz2
Mutató egy sztringre összehasonlítás céljából.
Megjegyzések
A sztringek lexikográfiai összehasonlítása karakter szerint a következőig:
A függvény két megfelelő karaktert egyenlőtlennek talál, és az összehasonlítás eredménye a sztringek összehasonlítása lesz.
Nem talál egyenlőtlenségeket, de az egyik sztring több karaktert tartalmaz, mint a másik, és a rövidebb sztring kisebb, mint a hosszabb sztring.
Nem talál egyenlőtlenségek, és megállapítja, hogy a sztringek száma azonos, így a sztringek egyenlőek.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1(_T("cat")), s2(_T("cats")), s3(_T("dogs"));
ASSERT(_T("dog") >= s1);
ASSERT(_T("cats and dogs") >= s2);
ASSERT(s3 >= s2);
CStringT::Remove
Eltávolítja a megadott karakter összes példányát a sztringből.
int Remove(XCHAR chRemove);
Paraméterek
chRemove
A sztringből eltávolítandó karakter.
Visszaadott érték
A sztringből eltávolított karakterek száma. Nulla, ha a sztring nem változik.
Megjegyzések
A karakter összehasonlítása megkülönbözteti a kis- és nagybetűket.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("This is a test."));
int n = str.Remove(_T('t'));
ASSERT(n == 2);
ASSERT(str == _T("This is a es."));
CStringT::Replace
A .-nak Replacekét verziója van. Az első verzió egy vagy több alsztring egy vagy több példányát lecseréli egy másik alstring használatával. Mindkét részsztring null értékű. A második verzió egy karakter egy vagy több példányát lecseréli egy másik karakterre. Mindkét verzió a fájlban CStringTtárolt karakteradatokon működik.
int Replace(PCXSTR pszOld, PCXSTR pszNew);
int Replace(XCHAR chOld, XCHAR chNew);
Paraméterek
pszOld
A lecserélendő pszNewnull értékű sztringre mutató mutató.
pszNew
A lecserélt pszOldnull értékű sztringre mutató mutató.
chOld
A lecserélendő chNewkarakter.
chNew
A karakter cseréje chOld.
Visszaadott érték
A karakter vagy az alsztring lecserélt példányainak számát adja vissza, vagy nullát, ha a sztring nem változik.
Megjegyzések
Replace módosíthatja a sztring hosszát, mert pszNewpszOld nem kell azonos hosszúságúnak lennie, és a régi részsztring több példánya is módosítható az újra. A függvény megkülönbözteti a kis- és nagybetűk egyezését.
Példák például a CStringT következőkre CString: , CStringAés CStringW.
CStringA Ez esetben ReplaceANSI- vagy többbájtos (MBCS) karakterekkel működik. Mert CStringWszéles Replace karakterekkel működik.
Ebben CStringaz esetben a karakter adattípusa a fordításkor lesz kiválasztva attól függően, hogy az alábbi táblázatban szereplő állandók definiálva vannak-e.
| Definiált állandó | Karakter adattípusa |
|---|---|
_UNICODE |
Széles karakterek |
_MBCS |
Több bájtos karakterek |
| Egyik sem | Egy bájtos karakterek |
| Mindkettő | Meghatározatlan |
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString strBang(_T("Everybody likes epee fencing"));
int n = strBang.Replace(_T("epee"), _T("foil"));
ASSERT(n == 1);
CStringT::ReverseFind
Ebben az CStringT objektumban keres egy karakter utolsó egyezését.
int ReverseFind(XCHAR ch) const throw();
Paraméterek
ch
A keresendő karakter.
Visszaadott érték
Az objektum utolsó karakterének CStringT nulla alapú indexe, amely megfelel a kért karakternek, vagy -1, ha a karakter nem található.
Megjegyzések
A függvény hasonló a futásidejű függvényhez strrchr.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcabc"));
ASSERT(s.ReverseFind(_T('b')) == 4);
CStringT::Right
Kinyeri az utolsó (vagyis a jobb szélső) nCount karaktereket ebből az CStringT objektumból, és visszaadja a kinyert részszúrás egy példányát.
CStringT Right(int nCount) const;
Paraméterek
nCount
Az objektumból CStringT kinyerendő karakterek száma.
Visszaadott érték
Egy CStringT objektum, amely a megadott karaktertartomány másolatát tartalmazza. A visszaadott CStringT objektum üres lehet.
Megjegyzések
Ha nCount meghaladja a sztring hosszát, a teljes sztring ki lesz nyerve.
Right hasonló az Alapszintű Right függvényhez (kivéve, hogy az Alapszintű indexek nulla alapúak).
A többbájtos karakterkészletek (MBCS) nCount minden 8 bites karakterre vonatkoznak, vagyis egy többbájtos karakterben lévő érdeklődő és nyomvonal bájt két karakternek számít.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s(_T("abcdef"));
ASSERT(s.Right(2) == _T("ef"));
CStringT::SetSysString
Újratelepíti a BSTR hivatkozott pbstr objektumot, és bemásolja az CStringT objektum tartalmát, beleértve a karaktert NULL is.
BSTR SetSysString(BSTR* pbstr) const;
Paraméterek
pbstr
Egy karaktersztringre mutató mutató.
Visszaadott érték
Az új sztring.
Megjegyzések
Az objektum tartalmától CStringT függően az általa BSTR hivatkozott érték pbstr változhat. A függvény nem rendelkezik CMemoryException elegendő memóriával.
Ezt a függvényt általában az Automation hivatkozása által átadott sztringek értékének módosítására használják.
példa
BSTR bstr = ::SysAllocString(L"Golf is fun!");
// create a CAtlString and change the OLE
// string to the contents of the BSTR
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("Soccer is best!"));
BSTR bstr2 = str.SetSysString(&bstr);
// Now, both bstr and bstr2 reference a single instance of
// the "Soccer" string. The "Golf" string has been freed.
ASSERT(bstr2 == bstr);
CStringT::SpanExcluding
Kinyeri a sztringből az első karakterrel kezdődő karaktereket, amelyek nem szerepelnek a megadott karakterkészletben pszCharSet.
CStringT SpanExcluding(PCXSTR pszCharSet) const;
Paraméterek
pszCharSet
Karakterkészletként értelmezett sztring.
Visszaadott érték
Olyan részsztring, amely a sztringben pszCharSetnem szereplő karaktereket tartalmaz, kezdve a sztring első karakterével, és a karakterláncban pszCharSet található első karakterrel végződik (vagyis a sztring első karakterétől kezdve egészen a talált pszCharSetkarakterlánc első karakterének kivételével). A teljes sztringet adja vissza, ha a sztringben pszCharSet nem található karakter.
Megjegyzések
SpanExcluding kinyeri és visszaadja a karakter pszCharSet első előfordulását megelőző összes karaktert (vagyis a karaktert pszCharSet a sztringben, és az azt követő összes karaktert nem adja vissza). Ha a sztringben nem található karakter pszCharSet , akkor SpanExcluding a teljes sztringet adja vissza.
példa
// The string can be delimited by a semicolon(;),
// a comma(,), a period(.), a dash(-),
// or an apostrophe(').
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString src(_T("abcdef"));
_tprintf_s(_T("%s"),src.SpanExcluding(_T(";,.-'")));
CStringT::SpanIncluding
A sztringből kinyeri a karaktereket, kezdve az első karakterrel, amelyek az általuk azonosított pszCharSetkarakterkészletben találhatók.
CStringT SpanIncluding(PCXSTR pszCharSet) const;
Paraméterek
pszCharSet
Karakterkészletként értelmezett sztring.
Visszaadott érték
Olyan részsztring, amely a sztringben pszCharSetszereplő karaktereket tartalmazza, kezdve a sztring első karakterével, és akkor végződik, amikor egy karaktert talál a sztringben, amely nem szerepel a sztringben pszCharSet.
SpanIncluding Üres részszúrást ad vissza, ha a sztring első karaktere nem szerepel a megadott készletben.
Megjegyzések
Ha a sztring első karaktere nem szerepel a karakterkészletben, akkor SpanIncluding egy üres sztringet ad vissza. Ellenkező esetben a készletben lévő egymást követő karakterek sorozatát adja vissza.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("cabbage"));
CAtlString res = str.SpanIncluding(_T("abc"));
ASSERT(res == _T("cabba"));
res = str.SpanIncluding(_T("xyz"));
ASSERT(res.IsEmpty());
CStringT::Tokenize
A következő token keresése egy célsztringben
CStringT Tokenize(PCXSTR pszTokens, int& iStart) const;
Paraméterek
pszTokens
Jogkivonat-elválasztókat tartalmazó sztring. Ezeknek a határolóknak a sorrendje nem fontos.
iStart
A keresés megkezdéséhez használt nulla alapú index.
Visszaadott érték
Az CStringT aktuális jogkivonat értékét tartalmazó objektum.
Megjegyzések
A Tokenize függvény megkeresi a következő tokent a célsztringben. A karakterkészlet a pszTokens megtalálandó jogkivonat lehetséges elválasztóit határozza meg. A függvény minden hívása Tokenize a következő időpontban iStartkezdődik, kihagyja a kezdő elválasztójeleket, és visszaad egy CStringT objektumot, amely az aktuális jogkivonatot tartalmazza, amely a karakterek sztringje a következő elválasztó karakterig. Az érték iStart úgy frissül, hogy a záró elválasztó karaktert követő pozíció legyen, vagy -1, ha a sztring vége el lett érve. A célsztring többi részéből több jogkivonatot is fel lehet bontani egy hívássorozattal Tokenize, amelynek segítségével iStart nyomon követheti, hogy a sztringben hol kell olvasni a következő tokent. Ha nincs több jogkivonat, a függvény egy üres sztringet ad vissza, és iStart -1 értékre lesz állítva.
A CRT-tokenizálási függvényekkel strtok_s_strtok_s_lwcstok_sellentétben , , , _wcstok_s_l, _mbstok_s, _mbstok_s_lTokenize nem módosítja a célsztringet.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("%First Second#Third"));
CAtlString resToken;
int curPos = 0;
resToken= str.Tokenize(_T("% #"),curPos);
while (resToken != _T(""))
{
_tprintf_s(_T("Resulting token: %s\n"), resToken);
resToken = str.Tokenize(_T("% #"), curPos);
}
A példa kimenete a következő:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
CStringT::Trim
Levágja a sztring kezdő és záró karaktereit.
CStringT& Trim(XCHAR chTarget);
CStringT& Trim(PCXSTR pszTargets);
CStringT& Trim();
Paraméterek
chTarget
A levágandó cél karakter.
pszTargets
Mutató a levágandó célkarakterekből álló sztringre. A karakterek pszTargets összes kezdő és záró előfordulása ki lesz vágva az CStringT objektumból.
Visszaadott érték
A levágott sztringet adja vissza.
Megjegyzések
Eltávolítja az alábbiak egyikének összes kezdő és záró előfordulását:
A megadott
chTargetkarakter.A megadott sztringben
pszTargetstalálható összes karakter.Szóköz.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
str = _T("******Soccer is best!?!?!?!?!");
_tprintf_s(_T("Before: \"%s\"\n"), (LPCTSTR)str);
_tprintf_s(_T("After : \"%s\"\n"), (LPCTSTR)str.Trim(_T("?!*")));
// Output:
// --------------------------
// Before: ******Soccer is best!?!?!?!?!
// After: Soccer is best
A példa kimenete a következő:
Before: "******Soccer is best, but liquor is quicker!!!!!"
After : "Soccer is best, but liquor is quicker"
CStringT::TrimLeft
Bevezető karakterek levágása a sztringből.
CStringT& TrimLeft(XCHAR chTarget);
CStringT& TrimLeft(PCXSTR pszTargets);
CStringT& TrimLeft();
Paraméterek
chTarget
A levágandó cél karakter.
pszTargets
Mutató a levágandó célkarakterekből álló sztringre. A karakterek pszTargets összes kezdő előfordulása ki lesz vágva az CStringT objektumból.
Visszaadott érték
Az eredményül kapott levágott sztring.
Megjegyzések
Eltávolítja az alábbiak egyikének összes kezdő és záró előfordulását:
A megadott
chTargetkarakter.A megadott sztringben
pszTargetstalálható összes karakter.Szóköz.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
str = _T("\t\t ****Soccer is best!");
_tprintf_s(_T("Before: \"%s\"\n"), (LPCTSTR)str);
_tprintf_s(_T("After: \"%s\"\n"), (LPCTSTR)str.TrimLeft(_T("\t *")));
// Output:
// --------------------------
// Before: ****Soccer is best!
// After: Soccer is best!
CStringT::TrimRight
Levágja a sztring záró karaktereit.
CStringT& TrimRight(XCHAR chTarget);
CStringT& TrimRight(PCXSTR pszTargets);
CStringT& TrimRight();
Paraméterek
chTarget
A levágandó cél karakter.
pszTargets
Mutató a levágandó célkarakterekből álló sztringre. A program a karakterek pszTargets összes záró előfordulását levágja az CStringT objektumból.
Visszaadott érték
CStringT A levágott sztringet tartalmazó objektumot adja vissza.
Megjegyzések
Eltávolítja az alábbiak egyikének záró előfordulásait:
A megadott
chTargetkarakter.A megadott sztringben
pszTargetstalálható összes karakter.Szóköz.
A CStringT& TrimRight(XCHAR chTarget) verzió egy karakterparamétert fogad el, és eltávolítja a karakter minden példányát a sztringadatok CStringT végéről. A sztring végétől kezdődik, és az előtér felé halad. Leáll, ha egy másik karaktert talál, vagy elfogy CStringT a karakteradatok száma.
A CStringT& TrimRight(PCXSTR pszTargets) verzió egy null értékű sztringet fogad el, amely tartalmazza az összes keresendő karaktert. Eltávolítja az objektumban lévő karakterek összes másolatát CStringT . A sztring végén kezdődik, és az előtér felé halad. Leáll, ha olyan karaktert talál, amely nem szerepel a célsztringben, vagy elfogy CStringT a karakteradatok száma. Nem próbálja a teljes célsztringet egy részsztringgel egyezni a végén CStringT.
A CStringT& TrimRight() verzió nem igényel paramétereket. A sztring végétől CStringT levágja a záró szóközkaraktereket. A szóköz karakterek lehetnek sortörések, szóközök vagy tabulátorok.
példa
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
str = _T("Soccer is best!?!?!?!?!");
_tprintf_s(_T("Before: \"%s\"\n"), (LPCTSTR)str);
_tprintf_s(_T("After : \"%s\"\n"), (LPCTSTR)str.TrimRight(_T("?!")));
// Output:
// --------------------------
// Before: Soccer is best!?!?!?!?!
// After: Soccer is best
Lásd még
hierarchiadiagram
ATL/MFC megosztott osztályok
CSimpleStringT osztály