CStringT Sınıfı

Bu sınıf bir CStringT nesneyi temsil eder.

Sözdizimi

template<typename BaseType, class StringTraits>
class CStringT :
    public CSimpleStringT<BaseType,
        _CSTRING_IMPL_::_MFCDLLTraitsCheck<BaseType, StringTraits>::c_bIsMFCDLLTraits>

Parametreler

BaseType
Dize sınıfının karakter türü. Aşağıdakilerden biri olabilir:

  • char (ANSI karakter dizeleri için).

  • wchar_t (Unicode karakter dizeleri için).

  • TCHAR (hem ANSI hem de Unicode karakter dizeleri için).

StringTraits
Dize sınıfının C Çalışma Zamanı (CRT) Kitaplığı desteğine ihtiyacı olup olmadığını ve dize kaynaklarının nerede bulunduğunu belirler. Aşağıdakilerden biri olabilir:

  • StrTraitATL<wchar_t | char | TCHAR, ChTraitsCRT<wchar_t | char | TCHAR>>

    sınıfı CRT desteği gerektirir ve tarafından m_hInstResource belirtilen modülde (uygulamanın modül sınıfının bir üyesi) kaynak dizelerini arar.

  • StrTraitATL<wchar_t | char | TCHAR, ChTraitsOS<wchar_t | char |TCHAR>>

    sınıfı CRT desteği gerektirmez ve tarafından m_hInstResource belirtilen modülde (uygulamanın modül sınıfının bir üyesi) kaynak dizeleri arar.

  • StrTraitMFC<wchar_t | char | TCHAR, ChTraitsCRT<wchar_t | char | TCHAR>>

    sınıfı CRT desteği gerektirir ve standart MFC arama algoritmasını kullanarak kaynak dizelerini arar.

  • StrTraitMFC<wchar_t | char | TCHAR, ChTraitsOS<wchar_t | char | TCHAR>>

    sınıfı CRT desteği gerektirmez ve standart MFC arama algoritmasını kullanarak kaynak dizelerini arar.

Üyeler

Ortak Oluşturucular

Ad Tanım
CStringT::CStringT Bir CStringT nesneyi çeşitli yollarla oluşturur.
CStringT::~CStringT Bir CStringT nesneyi yok eder.

Genel Yöntemler

Ad Tanım
CStringT::AllocSysString Verilerden CStringT bir BSTR ayırır.
CStringT::AnsiToOem ANSI karakter kümesinden OEM karakter kümesine yerinde dönüştürme yapar.
CStringT::AppendFormat Biçimlendirilmiş verileri var olan CStringT bir nesneye ekler.
CStringT::Collate İki dizeyi karşılaştırır (büyük/küçük harfe duyarlıdır, yerel ayara özgü bilgileri kullanır).
CStringT::CollateNoCase İki dizeyi karşılaştırır (büyük/küçük harfe duyarlı değildir, yerel ayara özgü bilgileri kullanır).
CStringT::Compare İki dizeyi karşılaştırır (büyük/küçük harfe duyarlı).
CStringT::CompareNoCase İki dizeyi karşılaştırır (büyük/küçük harfe duyarsız).
CStringT::Delete Dizeden bir karakter veya karakter siler.
CStringT::Find Daha büyük bir dizenin içinde bir karakter veya alt dize bulur.
CStringT::FindOneOf Bir kümedeki ilk eşleşen karakteri bulur.
CStringT::Format Dizeyi olduğu gibi sprintf biçimlendirin.
CStringT::FormatMessage İleti dizesini biçimlendirin.
CStringT::FormatMessageV Değişken bağımsız değişken listesi kullanarak ileti dizesini biçimlendirin.
CStringT::FormatV Bağımsız değişkenlerin değişken listesini kullanarak dizeyi biçimlendirin.
CStringT::GetEnvironmentVariable Dizeyi belirtilen ortam değişkeninin değerine ayarlar.
CStringT::Insert Dize içinde verilen dizine tek bir karakter veya alt dize ekler.
CStringT::Left Dizenin sol kısmını ayıklar.
CStringT::LoadString Windows kaynağından var olan CStringT bir nesneyi yükler.
CStringT::MakeLower Bu dizedeki tüm karakterleri küçük harflere dönüştürür.
CStringT::MakeReverse Dizeyi tersine çevirir.
CStringT::MakeUpper Bu dizedeki tüm karakterleri büyük harf karakterlere dönüştürür.
CStringT::Mid Dizenin orta kısmını ayıklar.
CStringT::OemToAnsi OEM karakter kümesinden ANSI karakter kümesine yerinde dönüştürme yapar.
CStringT::Remove Belirtilen karakterleri bir dizeden kaldırır.
CStringT::Replace Belirtilen karakterleri diğer karakterlerle değiştirir.
CStringT::ReverseFind Daha büyük bir dizenin içinde bir karakter bulur; en sonundan başlar.
CStringT::Right Dizenin doğru bölümünü ayıklar.
CStringT::SetSysString Bir nesneden alınan verilerle var olan BSTR bir CStringT nesneyi ayarlar.
CStringT::SpanExcluding tarafından tanımlanan pszCharSetkarakter kümesinde olmayan ilk karakterden başlayarak dizeden karakterleri ayıklar.
CStringT::SpanIncluding Yalnızca kümedeki karakterleri içeren bir alt dizeyi ayıklar.
CStringT::Tokenize Hedef dizede belirtilen belirteçleri ayıklar.
CStringT::Trim Dizedeki tüm baştaki ve sondaki boşluk karakterlerini kırpar.
CStringT::TrimLeft Dizedeki baştaki boşluk karakterlerini kırpar.
CStringT::TrimRight Dizedeki sondaki boşluk karakterlerini kırpar.

İşleçler

Ad Tanım
CStringT::operator = Nesneye yeni bir CStringT değer atar.
CStringT::operator + İki dizeyi veya bir karakter ile dizeyi birleştirir.
CStringT::operator += Yeni bir dizeyi var olan bir dizenin sonuna birleştirir.
CStringT::operator == İki dizenin mantıksal olarak eşit olup olmadığını belirler.
CStringT::operator != İki dizenin mantıksal olarak eşit olup olmadığını belirler.
CStringT::operator < İşlecin sol tarafındaki dizenin sağ taraftaki dizeden küçük olup olmadığını belirler.
CStringT::operator > İşlecin sol tarafındaki dizenin sağ taraftaki dizeden büyük olup olmadığını belirler.
CStringT::operator <= İşlecin sol tarafındaki dizenin sağ taraftaki dizeden küçük veya buna eşit olup olmadığını belirler.
CStringT::operator >= İşlecin sol tarafındaki dizenin sağ taraftaki dizeden büyük veya buna eşit olup olmadığını belirler.

Açıklamalar

CStringTsınıfından CSimpleStringTdevralır. Karakter işleme, sıralama ve arama gibi gelişmiş özellikler tarafından CStringTuygulanır.

Dekont

CStringT nesneleri özel durumlar oluşturabilen nesnelerdir. Herhangi bir nedenle bir CStringT nesnenin belleği bittiğinde bu durum oluşur.

Nesne CStringT , değişken uzunlukta bir karakter dizisini içerir. CStringT , Temel'in söz dizimine benzer söz dizimini kullanan işlevler ve işleçler sağlar. Birleştirme ve karşılaştırma işleçleri, basitleştirilmiş bellek yönetimiyle CStringT birlikte nesneleri normal karakter dizilerine göre daha kolay kullanır.

Dekont

Katıştırılmış null karakterler içeren örnekler oluşturmak CStringT mümkün olsa da, buna karşı öneririz. Katıştırılmış null karakterler içeren nesnelerde CStringT yöntemleri ve işleçleri çağırmak istenmeyen sonuçlar üretebilir.

ve StringTraits parametrelerinin BaseType farklı birleşimlerini kullanarak nesneler, CStringT ATL kitaplıkları tarafından önceden tanımlanmış olan aşağıdaki türlerde gelebilir.

ATL uygulamasında kullanıyorsanız:

CString, CStringAve CStringW hiçbir zaman kullanıcı DLL'lerinden değil, MFC DLL'sinden (MFC90.DLL) dışarı aktarılır. Bu, birden çok kez tanımlanmasını önlemek CStringT için yapılır.

Dekont

Kodunuz CStringT Kullanarak Dize Sınıflarını Dışarı Aktarma bölümünde açıklanan bağlayıcı hataları için geçici çözümü içeriyorsa, bu kodu kaldırmanız gerekir. Artık buna ihtiyacınız yoktur.

MFC tabanlı uygulamalarda aşağıdaki dize türleri kullanılabilir:

CStringT türü Bildirim
CStringA CRT desteğine sahip bir ANSI karakter türü dizesi.
CStringW CRT desteğine sahip bir Unicode karakter türü dizesi.
CString CRT desteğiyle hem ANSI hem de Unicode karakter türleri.

Aşağıdaki dize türleri, tanımlandığı ATL_CSTRING_NO_CRT projelerde kullanılabilir:

CStringT türü Bildirim
CAtlStringA CRT desteği olmayan bir ANSI karakter türü dizesi.
CAtlStringW CRT desteği olmayan bir Unicode karakter türü dizesi.
CAtlString CRT desteği olmadan hem ANSI hem de Unicode karakter türleri.

Aşağıdaki dize türleri tanımlanmayan ATL_CSTRING_NO_CRT projelerde kullanılabilir:

CStringT türü Bildirim
CAtlStringA CRT desteğine sahip bir ANSI karakter türü dizesi.
CAtlStringW CRT desteğine sahip bir Unicode karakter türü dizesi.
CAtlString CRT desteğiyle hem ANSI hem de Unicode karakter türleri.

CString nesneler de aşağıdaki özelliklere sahiptir:

  • CStringT birleştirme işlemleri nedeniyle nesneler büyüyebilir.

  • CStringT nesneleri "değer semantiğini" izler. Nesneyi bir CStringT dize işaretçisi olarak değil gerçek bir dize olarak düşünün.

  • İşlev bağımsız değişkenleri için PCXSTR nesneleri serbestçe değiştirebilirsinizCStringT.

  • Dize arabellekleri için özel bellek yönetimi. Daha fazla bilgi için bkz . Bellek Yönetimi ve CStringT.

CStringT Önceden Tanımlanmış Türler

CStringT Desteklenen karakter türünü (wchar_tveya char) tanımlamak için şablon bağımsız değişkeni kullandığından, yöntem parametre türleri bazen karmaşık olabilir. Bu sorunu basitleştirmek için sınıf genelinde CStringT önceden tanımlanmış bir tür kümesi tanımlanır ve kullanılır. Aşağıdaki tabloda çeşitli türler listelenmiştir:

Ad Tanım
XCHAR Nesneyle aynı karakter türüne CStringT sahip tek bir karakter (wchar_tveya char) .
YCHAR Nesne olarak CStringT karşı karakter türüne sahip tek bir karakter (wchar_tveya char).
PXSTR Nesneyle aynı karakter türüne sahip bir karakter dizesinin ( wchar_t veya char) işaretçisi CStringT .
PYSTR Nesne olarak karşı karakter türüne sahip bir karakter dizesi wchar_t (veya char) işaretçisi CStringT .
PCXSTR Nesneyle aynı karakter türüne sahip bir const karakter dizesinin ( wchar_t veya char) işaretçisi CStringT .
PCYSTR Nesne olarak karşı karakter türüne sahip bir const karakter dizesi wchar_t (veya char) işaretçisi CStringT .

Dekont

Daha önce belgelenmemiş yöntemlerini CString (örneğinAssignCopy) kullanan kod, aşağıdaki belgelenmiş yöntemlerini CStringT (veya ReleaseBuffergibiGetBuffer) kullanan kodla değiştirilmelidir. Bu yöntemler öğesinden CSimpleStringTdevralınır.

Devralma Hiyerarşisi

CSimpleStringT

CStringT

Gereksinimler

Üst bilgi Için kullanın
cstringt.h Yalnızca MFC dize nesneleri
atlstr.h MFC olmayan dize nesneleri

CStringT::AllocSysString

Türünde BSTR Otomasyon uyumlu bir dize ayırır ve nesnenin CStringT içeriğini sonlandırıcı null karakter de dahil olmak üzere içine kopyalar.

BSTR AllocSysString() const;

İade Değeri

Yeni ayrılan dize.

Açıklamalar

MFC programlarında yetersiz bellek varsa bir CMemoryException Sınıf oluşturulur. ATL programlarında bir CAtlException oluşturulur. Bu işlev normalde Otomasyon dizelerini döndürmek için kullanılır.

Genellikle, bu dize bir COM işlevine parametre olarak [in] geçirilirse, çağıranın dizeyi boşaltması gerekir. Bu, Windows SDK'da açıklandığı gibi kullanılarak SysFreeStringyapılabilir. Daha fazla bilgi için bkz . Bir BSTRiçin Bellek Ayırma ve Serbest Bırakma.

Windows'daki OLE ayırma işlevleri hakkında daha fazla bilgi için bkz SysAllocString . Windows SDK'sında.

Örnek

Aşağıdaki örnekte kullanımı gösterilmektedir CStringT::AllocSysString.

// 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

Bu CStringT nesnedeki tüm karakterleri ANSI karakter kümesinden OEM karakter kümesine dönüştürür.

void AnsiToOem();

Açıklamalar

tanımlanmışsa _UNICODE işlev kullanılamaz.

Örnek

// 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

Biçimlendirilmiş verileri var olan CStringT bir nesneye ekler.

void __cdecl AppendFormat(PCXSTR pszFormat, [, argument] ...);
void __cdecl AppendFormat(UINT nFormatID, [, argument] ...);

Parametreler

pszFormat
Biçim denetimi dizesi.

nFormatID
Biçim denetimi dizesini içeren dize kaynak tanımlayıcısı.

argument
İsteğe bağlı bağımsız değişkenler.

Açıklamalar

Bu işlev, içinde bir dizi karakter ve değer CStringTbiçimlendirip ekler. İsteğe bağlı her bağımsız değişken (varsa) içinde veya tarafından nFormatIDtanımlanan dize kaynağından ilgili biçim belirtimine pszFormat göre dönüştürülür ve eklenir.

Örnek

// 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

generic-text işlevini _tcscollkullanarak iki dizeyi karşılaştırır.

int Collate(PCXSTR psz) const throw();

Parametreler

psz
Karşılaştırma için kullanılan diğer dize.

İade Değeri

Dizeler aynıysa sıfır, < bu CStringT nesne değerinden pszküçükse 0 veya > değerinden büyükse CStringTpsz0.

Açıklamalar

içinde tanımlanan genel metin işlevi _tcscoll, derleme zamanında tanımlanan TCHAR.Hkarakter kümesine strcollbağlı olarak , wcscollveya _mbscollile eşler. Her işlev, kullanımda olan kod sayfasına göre dizelerin büyük/küçük harfe duyarlı bir karşılaştırmasını yapar. Daha fazla bilgi için bkz. , wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, , _mbscoll_l.strcoll

CStringT::CollateNoCase

generic-text işlevini _tcscollkullanarak iki dizeyi karşılaştırır.

int CollateNoCase(PCXSTR psz) const throw();

Parametreler

psz
Karşılaştırma için kullanılan diğer dize.

İade Değeri

Dizeler aynıysa sıfır (büyük/küçük harf yoksayılıyor), < bu CStringT nesne küçükse psz 0 (büyük/küçük harf yoksayılıyor) veya > bu CStringT nesne büyükse psz 0 (büyük/küçük harf yoksayma).

Açıklamalar

içinde tanımlanan genel metin işlevi _tcscoll, derleme zamanında tanımlanan TCHAR.Hkarakter kümesine stricollbağlı olarak , wcsicollveya _mbsicollile eşler. Her işlev, şu anda kullanımda olan kod sayfasına göre dizelerin büyük/küçük harfe duyarsız bir karşılaştırmasını yapar. Daha fazla bilgi için bkz. strcoll, wcscoll, _mbscoll, _strcoll_l, _wcscoll_l, _mbscoll_l.

Örnek

// 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

İki dizeyi karşılaştırır (büyük/küçük harfe duyarlı).

int Compare(PCXSTR psz) const;

Parametreler

psz
Karşılaştırma için kullanılan diğer dize.

İade Değeri

Dizeler aynıysa sıfır, < bu CStringT nesne değerinden pszküçükse 0 veya > değerinden büyükse CStringTpsz0.

Açıklamalar

içinde tanımlanan genel metin işlevi _tcscmp, derleme zamanında tanımlanan TCHAR.Hkarakter kümesine strcmpbağlı olarak , wcscmpveya _mbscmpile eşler. Her işlev dizelerin büyük/küçük harfe duyarlı karşılaştırmasını yapar ve yerel ayardan etkilenmez. Daha fazla bilgi için bkz. strcmp, wcscmp, _mbscmp.

Dize katıştırılmış null değerleri içeriyorsa, karşılaştırma amacıyla, dize ilk eklenmiş null karakterde kesilmiş olarak kabul edilir.

Örnek

Aşağıdaki örnekte kullanımı gösterilmektedir CStringT::Compare.

// 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

İki dizeyi karşılaştırır (büyük/küçük harfe duyarsız).

int CompareNoCase(PCXSTR psz) const throw();

Parametreler

psz
Karşılaştırma için kullanılan diğer dize.

İade Değeri

Dizeler aynıysa sıfır (büyük/küçük harf yoksayılıyor), <bu CStringT nesne küçükse psz 0 (büyük/küçük harf yoksayılıyor) veya >bu CStringT nesne büyükse psz 0 (büyük/küçük harf yoksayma).

Açıklamalar

içinde tanımlanan genel metin işlevi _tcsicmp, derleme zamanında tanımlanan TCHAR.Hkarakter kümesine _stricmpbağlı olarak , _wcsicmp veya _mbsicmpile eşler. Her işlev, dizelerin büyük/küçük harfe duyarlı olmayan bir karşılaştırmasını yapar. Karşılaştırma, yerel ayarın LC_CTYPE yönüne bağlıdır, ancak öğesine bağlı değildir LC_COLLATE. Daha fazla bilgi için bkz. _stricmp, _wcsicmp, _mbsicmp, _stricmp_l, _wcsicmp_l, _mbsicmp_l.

Örnek

// 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

Bir CStringT nesne oluşturur.

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);

Parametreler

pch
Null olarak sonlandırılmayan, uzunluklu nLengthbir karakter dizisine yönelik bir işaretçi.

nLength
içindeki pchkarakter sayısının sayısı.

ch
Tek bir karakter.

pszSrc
Bu CStringT nesneye kopyalanacak null ile sonlandırılan bir dize.

pStringMgr
Nesnenin bellek yöneticisine yönelik bir CStringT işaretçi. ve için bellek yönetimi hakkında IAtlStringMgr daha fazla bilgi için CStringTbkz . CStringT ile Bellek Yönetimi.

strSrc
Bu CStringT nesneye kopyalanacak mevcut CStringT bir nesne. ve CThisSimpleStringhakkında CThisString daha fazla bilgi için Açıklamalar bölümüne bakın.

varSrc
Bu CStringT nesneye kopyalanacak bir değişken nesnesi.

BaseType
Dize sınıfının karakter türü. Aşağıdakilerden biri olabilir:

char (ANSI karakter dizeleri için).

wchar_t (Unicode karakter dizeleri için).

TCHAR (hem ANSI hem de Unicode karakter dizeleri için).

bMFCDLL
Projenin bir MFC DLL () olup olmadığını (TRUE)FALSE belirten boole değeri.

SystemString
olmalıdır System::Stringve projenin ile /clrderlenmiş olması gerekir.

pString
Bir nesnenin CStringT tanıtıcısı.

Açıklamalar

Oluşturucular giriş verilerini yeni ayrılmış depolama alanına kopyaladığı için bellek özel durumları oluşabilir. Bu oluşturuculardan bazıları dönüştürme işlevi görür. Bu, örneğin LPTSTR bir CStringT nesnenin beklendiği yeri değiştirmenizi sağlar.

  • CStringT( LPCSTRlpsz ): ANSI dizesinden Unicode CStringT oluşturur. Aşağıdaki örnekte gösterildiği gibi bir dize kaynağını yüklemek için de bu oluşturucuyu kullanabilirsiniz.

  • CStringT(LPCWSTRlpsz ): Unicode dizesinden bir CStringT oluşturur.

  • CStringT( const unsigned char*psz ): bir işaretçiden öğesine unsigned charoluşturmanızı CStringT sağlar.

Dekont

_CSTRING_DISABLE_NARROW_WIDE_CONVERSION ANSI ve Unicode dizeleri arasında örtük dize dönüştürmeyi kapatmak için makroyu tanımlayın. Makro, dönüştürmeyi destekleyen derleme oluşturucularından dışlar.

strSrc Parametre bir CStringT veya CThisSimpleString nesnesi olabilir. için CStringT, için varsayılan örneklemelerinden birini (CString, CStringAveya CStringW); CThisSimpleStringkullanın, işaretçi this kullanın. CThisSimpleString sınıfından CSimpleStringT daha az yerleşik işlevselliğe sahip daha küçük bir dize sınıfı olan sınıfın bir örneğini CStringT bildirir.

aşırı yükleme işleci CSimpleStringT<>&() bir bildirimden bir CStringTCSimpleStringT nesne oluşturur.

Dekont

Katıştırılmış null karakterler içeren örnekler oluşturmak CStringT mümkün olsa da, buna karşı öneririz. Katıştırılmış null karakterler içeren nesnelerde CStringT yöntemleri ve işleçleri çağırmak istenmeyen sonuçlar üretebilir.

Örnek

// 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

Nesneyi yok eder CStringT .

~CStringT() throw();

Açıklamalar

Nesneyi yok eder CStringT .

CStringT::Delete

Verilen dizindeki karakterle başlayan bir dizedeki karakteri veya karakterleri siler.

int Delete(int iIndex, int nCount = 1);

Parametreler

iIndex
Silinecek nesnedeki ilk karakterin CStringT sıfır tabanlı dizini.

nCount
Kaldırılacak karakter sayısı.

İade Değeri

Değiştirilen dizenin uzunluğu.

Açıklamalar

Dizeden uzunsa nCount , dizenin geri kalanı kaldırılır.

Örnek

// 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

Bu dizede bir karakterin veya alt dizenin ilk eşleşmesini arar.

int Find(PCXSTR pszSub, int iStart=0) const throw();
int Find(XCHAR ch, int iStart=0) const throw();

Parametreler

pszSub
Aranacak bir alt dize.

iStart
Aramaya başlamak için dizedeki karakterin dizini veya baştan başlamak için 0.

ch
Aranacak tek bir karakter.

İade Değeri

Bu CStringT nesnedeki istenen alt dize veya karakterlerle eşleşen ilk karakterin sıfır tabanlı dizini; alt dize veya karakter bulunamazsa -1.

Açıklamalar

İşlev, hem tek karakterleri (çalışma zamanı işlevine strchrbenzer) hem de dizeleri (benzeri) kabul edecek şekilde aşırı yüklenmiştir strstr.

Örnek

// 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

içinde bulunan herhangi bir karakterle eşleşen ilk karakter için bu dizeyi pszCharSetarar.

int FindOneOf(PCXSTR pszCharSet) const throw();

Parametreler

pszCharSet
Eşleştirme için karakter içeren dize.

İade Değeri

Bu dizedeki ilk karakterin sıfır pszCharSettabanlı dizini; eşleşme yoksa -1.

Açıklamalar

içindeki pszCharSetkarakterlerden herhangi birinin ilk oluşumunu bulur.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abcdef"));
ASSERT(s.FindOneOf(_T("xd")) == 3); // 'd' is first match   

CStringT::Format

Biçimlendirilmiş verileri, CStringT verileri C stili bir karakter dizisine biçimlendiren sprintf_s şekilde yazar.

void __cdecl Format(UINT nFormatID, [, argument]...);
void __cdecl Format(PCXSTR pszFormat,  [, argument] ...);

Parametreler

nFormatID
Biçim denetimi dizesini içeren dize kaynak tanımlayıcısı.

pszFormat
Biçim denetimi dizesi.

argument
İsteğe bağlı bağımsız değişkenler.

Açıklamalar

Bu işlev, içinde bir dizi karakteri ve değeri biçimlendirip depolar CStringT. İsteğe bağlı her bağımsız değişken (varsa) dönüştürülür ve tarafından nFormatIDtanımlanan dize kaynağında pszFormat veya kaynağından ilgili biçim belirtimine göre çıkış yapılır.

Dize nesnesinin kendisi parametresi Formatolarak sunulursa çağrısı başarısız olur. Örneğin, aşağıdaki kod öngörülemeyen sonuçlara neden olur:

CAtlString str = _T("Some Data");
str.Format(_T("%s%d"), str, 123);   
// Attention: str is also used in the parameter list.   

Daha fazla bilgi için bkz . Biçim Belirtimi Sözdizimi: printf ve wprintf İşlevler.

Örnek

// 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

İleti dizesini biçimlendirin.

void __cdecl FormatMessage(UINT nFormatID, [, argument]...);
void __cdecl FormatMessage(PCXSTR pszFormat, [, argument]...);

Parametreler

nFormatID
Biçimlendirilmemiş ileti metnini içeren dize kaynak tanımlayıcısı.

pszFormat
Biçim denetimi dizesini gösterir. Ekler için taranır ve uygun şekilde biçimlendirilir. Biçim dizesi, parametrelerin rastgele bir sırada eklenmesine izin vermemesi dışında, çalışma zamanı işlevi printf-stili biçim dizelerine benzer.

argument
İsteğe bağlı bağımsız değişkenler.

Açıklamalar

İşlev giriş olarak bir ileti tanımı gerektirir. İleti tanımı tarafından pszFormat veya tarafından nFormatIDtanımlanan dize kaynağından belirlenir. İşlev, biçimlendirilmiş ileti metnini nesneye CStringT kopyalar ve istenirse eklenmiş ekleme dizilerini işler.

Dekont

FormatMessage yeni biçimlendirilmiş dize için sistem belleği ayırmaya çalışır. Bu girişim başarısız olursa, otomatik olarak bir bellek özel durumu oluşturulur.

Her eklemenin veya nFormatID parametresinden pszFormat sonra karşılık gelen bir parametresi olmalıdır. İleti metninin içinde, iletiyi dinamik olarak biçimlendirmek için çeşitli kaçış dizileri desteklenir. Daha fazla bilgi için bkz. Windows FormatMessage SDK'sında Windows işlevi.

Örnek

// 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

Değişken bağımsız değişken listesi kullanarak ileti dizesini biçimlendirin.

void FormatMessageV(PCXSTR pszFormat, va_list* pArgList);

Parametreler

pszFormat
Biçim denetimi dizesini gösterir. Ekler için taranır ve uygun şekilde biçimlendirilir. Biçim dizesi, parametrelerin rastgele bir sırada eklenmesine izin vermemesi dışında, çalışma zamanı işlevi printf-stili biçim dizelerine benzer.

pArgList
Bağımsız değişken listesinin işaretçisi.

Açıklamalar

İşlev, tarafından pszFormatbelirlenen giriş olarak bir ileti tanımı gerektirir. İşlev, biçimlendirilmiş ileti metnini ve değişken bir bağımsız değişken listesini nesnesine CStringT kopyalar ve istenirse eklenmiş ekleme dizilerini işler.

Dekont

FormatMessageV çağrıları CStringT::FormatMessage, yeni biçimlendirilmiş dize için sistem belleği ayırmaya çalışır. Bu girişim başarısız olursa, otomatik olarak bir bellek özel durumu oluşturulur.

Daha fazla bilgi için bkz. Windows FormatMessage SDK'sında Windows işlevi.

CStringT::FormatV

Değişken bağımsız değişken listesi kullanarak ileti dizesini biçimlendirin.

void FormatV(PCXSTR pszFormat, va_list args);

Parametreler

pszFormat
Biçim denetimi dizesini gösterir. Ekler için taranır ve uygun şekilde biçimlendirilir. Biçim dizesi, parametrelerin rastgele bir sırada eklenmesine izin vermemesi dışında, çalışma zamanı işlevi printf-stili biçim dizelerine benzer.

args
Bağımsız değişken listesinin işaretçisi.

Açıklamalar

Biçimlendirilmiş bir dizeyi ve bağımsız değişkenlerin değişken listesini, verileri C stili bir karakter dizisine biçimlendirecek vsprintf_s şekilde bir CStringT dizeye yazar.

Örnek

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

Dizeyi belirtilen ortam değişkeninin değerine ayarlar.

BOOL GetEnvironmentVariable(PCXSTR pszVar);

Parametreler

pszVar
Ortam değişkenini belirten null ile sonlandırılan bir dizenin işaretçisi.

İade Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belirtilen değişkenin değerini çağırma işleminin ortam bloğundan alır. Değer, null olarak sonlandırılan karakter dizesi biçimindedir.

Örnek

// 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

Dize içinde verilen dizine tek bir karakter veya alt dize ekler.

int Insert(int iIndex, PCXSTR psz);
int Insert(int iIndex, XCHAR ch);

Parametreler

iIndex
Eklemenin gerçekleşeceği karakterin dizini.

psz
Eklenecek alt dizeye yönelik bir işaretçi.

ch
Eklenecek karakter.

İade Değeri

Değiştirilen dizenin uzunluğu.

Açıklamalar

parametresi, iIndex karakter veya alt dizeye yer açmak için taşınacak ilk karakteri tanımlar. Sıfır ise nIndex , ekleme tüm dizeden önce gerçekleşir. nIndex dizenin uzunluğundan yüksekse, işlev mevcut dizeyi ve veya psztarafından ch sağlanan yeni malzemeyi birleştirir.

Örnek

// 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

Bu CStringT nesneden en soldaki nCount karakterleri ayıklar ve ayıklanan alt dizenin bir kopyasını döndürür.

CStringT Left(int nCount) const;

Parametreler

nCount
Bu CStringT nesneden ayıklanan karakter sayısı.

İade Değeri

CStringT Belirtilen karakter aralığının kopyasını içeren nesne. Döndürülen CStringT nesne boş olabilir.

Açıklamalar

Dize uzunluğunu aşarsa nCount , dizenin tamamı ayıklanır. Left Temel Left işlevine benzer.

Çok baytlı karakter kümeleri (MBCS) nCount için, her 8 bitlik diziyi bir karakter olarak kabul eder, böylece nCount iki ile çarpılan çok baytlı karakter sayısını döndürür.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abcdef"));
ASSERT(s.Left(2) == _T("ab"));   

CStringT::LoadString

nID ile tanımlanan bir Windows dize kaynağını var olan CStringT bir nesneye okur.

BOOL LoadString(HINSTANCE hInstance, UINT nID, WORD wLanguageID);
BOOL LoadString(HINSTANCE hInstance, UINT nID);
BOOL LoadString(UINT nID);

Parametreler

hInstance
Modülün örneğinin tanıtıcısı.

nID
Windows dizesi kaynak kimliği.

wLanguageID
Dize kaynağının dili.

İade Değeri

Kaynak yükü başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Belirtilen modülden (nID) belirtilen dili () kullanarak dize kaynağını (hInstancewLanguage) yükler.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s;
s.LoadString(IDS_APP_TITLE);   

CStringT::MakeLower

CStringT Nesneyi küçük harfli bir dizeye dönüştürür.

CStringT& MakeLower();

İade Değeri

Sonuçta elde edilen küçük harf dizesi.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("ABC"));

ASSERT(s.MakeLower() == _T("abc"));   

CStringT::MakeReverse

Nesnedeki karakterlerin CStringT sırasını tersine çevirir.

CStringT& MakeReverse();

İade Değeri

Elde edilen ters çevrilmiş dize.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abc"));

ASSERT(s.MakeReverse() == _T("cba"));   

CStringT::MakeUpper

CStringT Nesneyi büyük harfli bir dizeye dönüştürür.

CStringT& MakeUpper();

İade Değeri

Sonuçta elde edilen büyük harf dizesi.

Açıklamalar

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abc"));

ASSERT(s.MakeUpper() == _T("ABC"));   

CStringT::Mid

Konumdan iFirst (sıfır tabanlı) başlayarak bu CStringT nesneden uzunluk nCount karakterlerinin alt dizesini ayıklar.

CStringT Mid(int iFirst, int nCount) const;
CStringT Mid(int iFirst) const;

Parametreler

iFirst
Ayıklanan alt dizeye dahil edilecek bu CStringT nesnedeki ilk karakterin sıfır tabanlı dizini.

nCount
Bu CStringT nesneden ayıklanan karakter sayısı. Bu parametre sağlanmamışsa, dizenin geri kalanı ayıklanır.

İade Değeri

CStringT Belirtilen karakter aralığının kopyasını içeren nesne. Döndürülen CStringT nesne boş olabilir.

Açıklamalar

işlevi, ayıklanan alt dizenin bir kopyasını döndürür. Mid Temel Orta işlevine benzer (Temel'deki dizinlerin tek tabanlı olması dışında).

Çok baytlı karakter kümeleri (MBCS) nCount için her 8 bit karaktere başvurur; başka bir ifadeyle, çok baytlı bir karakterdeki bir baş ve sondaki bayt iki karakter olarak sayılır.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abcdef"));
ASSERT(s.Mid(2, 3) == _T("cde"));   

CStringT::OemToAnsi

Bu CStringT nesnedeki tüm karakterleri OEM karakter kümesinden ANSI karakter kümesine dönüştürür.

void OemToAnsi();

Açıklamalar

Tanımlanmışsa _UNICODE bu işlev kullanılamaz.

Örnek

örneğine CStringT::AnsiToOembakın.

CStringT::operator =

Dizeye yeni bir değer atar.

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);

Parametreler

strSrc
CStringT Bu dizeye atanacak A.

str
Bir nesneye CThisSimpleString başvuru.

bMFCDLL
Projenin bir MFC DLL olup olmadığını belirten boole değeri.

BaseType
Dize temel türü.

var
Bu dizeye atanacak değişken nesnesi.

ch
Dizeye atanacak ANSI veya Unicode karakteri.

pszSrc
Atanan özgün dizenin işaretçisi.

Açıklamalar

Atama işleci başka bir CStringT nesneyi, karakter işaretçisini veya tek bir karakteri kabul eder. Yeni depolama alanı ayrılabildiğinden bu işleci her kullandığınızda bellek özel durumları oluşabilir.

hakkında CThisSimpleStringbilgi için, öğesinin Açıklamalar bölümüne CStringT::CStringTbakın.

Dekont

Katıştırılmış null karakterler içeren örnekler oluşturmak CStringT mümkün olsa da, buna karşı öneririz. Katıştırılmış null karakterler içeren nesnelerde CStringT yöntemleri ve işleçleri çağırmak istenmeyen sonuçlar üretebilir.

CStringT::operator +

İki dizeyi veya bir karakter ile bir dizeyi birleştirir.

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,);

Parametreler

ch1
Bir dizeyle birleştirmek için ANSI veya Unicode karakteri.

ch2
Bir dizeyle birleştirmek için ANSI veya Unicode karakteri.

str1
Bir CStringT dize veya karakterle birleştirmek için A.

str2
Bir CStringT dize veya karakterle birleştirmek için A.

psz1
Bir dize veya karakterle birleştirmek için null olarak sonlandırılan bir dizeye işaretçi.

psz2
Dize veya karakterle birleştirmek için bir dize işaretçisi.

Açıklamalar

İşlevin CStringT::operator+ yedi aşırı yükleme biçimi vardır. İlk sürüm iki mevcut CStringT nesneyi birleştirir. Sonraki ikisi bir CStringT nesneyi ve null olarak sonlandırılan bir dizeyi birleştirir. Sonraki ikisi bir CStringT nesneyi ve ANSI karakterini birleştirir. Son ikisi bir CStringT nesneyi ve Unicode karakterini birleştirir.

Dekont

Katıştırılmış null karakterler içeren örnekler oluşturmak CStringT mümkün olsa da, buna karşı öneririz. Katıştırılmış null karakterler içeren nesnelerde CStringT yöntemleri ve işleçleri çağırmak istenmeyen sonuçlar üretebilir.

Örnek

// 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 +=

Karakterleri dizenin sonuna birleştirir.

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);

Parametreler

str
Bir nesneye CThisSimpleString başvuru.

bMFCDLL
Projenin bir MFC DLL olup olmadığını belirten boole değeri.

BaseType
Dize temel türü.

var
Bu dizeyle birleştirmek için bir değişken nesnesi.

ch
Bir dizeyle birleştirmek için ANSI veya Unicode karakteri.

pszSrc
Birleştirilmekte olan özgün dizenin işaretçisi.

strSrc
Bu dizeyle birleştirmek için A CStringT .

Açıklamalar

işleci başka bir CStringT nesneyi, karakter işaretçisini veya tek bir karakteri kabul eder. Bu birleştirme işlecini her kullandığınızda bellek özel durumları oluşabilir çünkü bu CStringT nesneye eklenen karakterler için yeni depolama alanı ayrılabilir.

hakkında CThisSimpleStringbilgi için, öğesinin Açıklamalar bölümüne CStringT::CStringTbakın.

Dekont

Katıştırılmış null karakterler içeren örnekler oluşturmak CStringT mümkün olsa da, buna karşı öneririz. Katıştırılmış null karakterler içeren nesnelerde CStringT yöntemleri ve işleçleri çağırmak istenmeyen sonuçlar üretebilir.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abc"));
ASSERT((s += _T("def")) == _T("abcdef"));   

CStringT::operator ==

İki dizenin mantıksal olarak eşit olup olmadığını belirler.

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();

Parametreler

ch1
Karşılaştırma için ANSI veya Unicode karakteri.

ch2
Karşılaştırma için ANSI veya Unicode karakteri.

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

psz2
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

Açıklamalar

Sol taraftaki bir dizenin veya karakterin sağ taraftaki bir dizeye veya karaktere eşit olup olmadığını sınar ve döndürür TRUE veya FALSE buna göre.

Örnek

// 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 !=

İki dizenin mantıksal olarak eşit olup olmadığını belirler.

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();

Parametreler

ch1
Bir dizeyle birleştirmek için ANSI veya Unicode karakteri.

ch2
Bir dizeyle birleştirmek için ANSI veya Unicode karakteri.

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

psz2
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

Açıklamalar

Sol taraftaki bir dizenin veya karakterin sağ taraftaki bir dizeye veya karaktere eşit olup olmadığını sınar.

Örnek

// 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 <

İşlecin sol tarafındaki dizenin sağ taraftaki dizeden küçük olup olmadığını belirler.

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();

Parametreler

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

psz2
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

Açıklamalar

Dizeler arasında sözcük temelli bir karşılaştırma, şu kadar karakter karakter:

  • Karşılık gelen iki karakteri eşit olmayan bulur ve bunların karşılaştırmasının sonucu, dizeler arasındaki karşılaştırmanın sonucu olarak alınır.

  • Eşitsizlikleri bulmaz, ancak bir dize diğerinden daha fazla karaktere sahiptir ve daha kısa dize uzun dizeden daha az kabul edilir.

  • Eşitsizlikleri bulmaz ve dizelerin aynı sayıda karaktere sahip olduğunu ve dolayısıyla dizelerin eşit olduğunu bulur.

Örnek

// 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 >

İşlecin sol tarafındaki dizenin sağ taraftaki dizeden büyük olup olmadığını belirler.

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();

Parametreler

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

psz2
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

Açıklamalar

Dizeler arasında sözcük temelli bir karşılaştırma, şu kadar karakter karakter:

  • Karşılık gelen iki karakteri eşit olmayan bulur ve bunların karşılaştırmasının sonucu, dizeler arasındaki karşılaştırmanın sonucu olarak alınır.

  • Eşitsizlikleri bulmaz, ancak bir dize diğerinden daha fazla karaktere sahiptir ve daha kısa dize uzun dizeden daha az kabul edilir.

  • Eşitsizlikleri bulmaz ve dizelerin aynı sayıda karaktere sahip olduğunu, dolayısıyla dizelerin eşit olduğunu bulur.

Örnek

// 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 <=

İşlecin sol tarafındaki dizenin sağ taraftaki dizeden küçük veya buna eşit olup olmadığını belirler.

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();

Parametreler

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

psz2
Karşılaştırma için null ile sonlandırılan dizeye yönelik bir işaretçi.

Açıklamalar

Dizeler arasında sözcük temelli bir karşılaştırma, şu kadar karakter karakter:

  • Karşılık gelen iki karakteri eşit olmayan bulur ve bunların karşılaştırmasının sonucu, dizeler arasındaki karşılaştırmanın sonucu olarak alınır.

  • Eşitsizlikleri bulmaz, ancak bir dize diğerinden daha fazla karaktere sahiptir ve daha kısa dize uzun dizeden daha az kabul edilir.

  • Eşitsizlikleri bulmaz ve dizelerin aynı sayıda karaktere sahip olduğunu, dolayısıyla dizelerin eşit olduğunu bulur.

Örnek

// 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 >=

İşlecin sol tarafındaki dizenin sağ taraftaki dizeden büyük veya buna eşit olup olmadığını belirler.

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();

Parametreler

str1
Karşılaştırma için A CStringT .

str2
Karşılaştırma için A CStringT .

psz1
Karşılaştırma için bir dize işaretçisi.

psz2
Karşılaştırma için bir dize işaretçisi.

Açıklamalar

Dizeler arasında sözcük temelli bir karşılaştırma, şu kadar karakter karakter:

  • Karşılık gelen iki karakteri eşit olmayan bulur ve bunların karşılaştırmasının sonucu, dizeler arasındaki karşılaştırmanın sonucu olarak alınır.

  • Eşitsizlikleri bulmaz, ancak bir dize diğerinden daha fazla karaktere sahiptir ve daha kısa dize uzun dizeden daha az kabul edilir.

  • Eşitsizlikleri bulmaz ve dizelerin aynı sayıda karaktere sahip olduğunu, dolayısıyla dizelerin eşit olduğunu bulur.

Örnek

// 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

Belirtilen karakterin tüm örneklerini dizeden kaldırır.

int Remove(XCHAR chRemove);

Parametreler

chRemove
Bir dizeden kaldırılacak karakter.

İade Değeri

Dizeden kaldırılan karakterlerin sayısı. Dize değiştirilmezse sıfır.

Açıklamalar

Karakter karşılaştırmaları büyük/küçük harfe duyarlıdır.

Örnek

// 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

öğesinin Replaceiki sürümü vardır. İlk sürüm, bir alt dizenin bir veya daha fazla kopyasını başka bir alt dize kullanarak değiştirir. Her iki alt dize de null olarak sonlandırılır. İkinci sürüm, bir karakterin bir veya daha fazla kopyasını başka bir karakter kullanarak değiştirir. Her iki sürüm de içinde CStringTdepolanan karakter verileri üzerinde çalışır.

int Replace(PCXSTR pszOld, PCXSTR pszNew);
int Replace(XCHAR chOld, XCHAR chNew);

Parametreler

pszOld
ile değiştirilecek null ile sonlandırılan dizeye işaret eden pszNewbir işaretçi.

pszNew
yerine null olarak sonlandırılan bir dize işaretçisi pszOld.

chOld
ile değiştirilecek chNewkarakter.

chNew
öğesinin yerini alan chOldkarakter.

İade Değeri

Karakter veya alt dizenin değiştirilen örneklerinin sayısını veya dize değiştirilmediyse sıfırı döndürür.

Açıklamalar

Replace dize uzunluğunu değiştirebilir çünkü pszNew ve pszOld aynı uzunlukta olması gerekmez ve eski alt dizenin birkaç kopyası yenisine değiştirilebilir. işlevi büyük/küçük harfe duyarlı bir eşleşme yapar.

Örneklere örnek olarak CStringTCString, CStringAve CStringWverilebilir.

için CStringAANSI Replace veya çok baytlı (MBCS) karakterlerle çalışır. Replace için CStringWgeniş karakterlerle çalışır.

için CString, aşağıdaki tablodaki sabitlerin tanımlanıp tanımlanmadığına bağlı olarak, derleme zamanında karakter veri türü seçilir.

Tanımlı Sabit Karakter Veri Türü
_UNICODE Geniş karakterler
_MBCS Çok baytlı karakterler
Hiçbiri Tek baytlı karakterler
Her İkisi Undefined

Örnek

// 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

Bu CStringT nesnede bir karakterin son eşleşmesini arar.

int ReverseFind(XCHAR ch) const throw();

Parametreler

ch
Aranacak karakter.

İade Değeri

Bu CStringT nesnedeki istenen karakterle eşleşen son karakterin sıfır tabanlı dizini veya karakter bulunamazsa -1.

Açıklamalar

işlevi, çalışma zamanı işlevine strrchrbenzer.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abcabc"));
ASSERT(s.ReverseFind(_T('b')) == 4);   

Bu CStringT nesneden son (en sağdaki) nCount karakterleri ayıklar ve ayıklanan alt dizenin bir kopyasını döndürür.

CStringT Right(int nCount) const;

Parametreler

nCount
Bu CStringT nesneden ayıklanan karakter sayısı.

İade Değeri

CStringT Belirtilen karakter aralığının kopyasını içeren nesne. Döndürülen CStringT nesne boş olabilir.

Açıklamalar

Dize uzunluğunu aşarsa nCount , dizenin tamamı ayıklanır. Right Temel Right işlevine benzer (Temel'deki dizinlerin sıfır tabanlı olması dışında).

Çok baytlı karakter kümeleri için (MBCS ), nCount her 8 bit karaktere başvurur; başka bir ifadeyle, çok baytlı bir karakterdeki bir baş ve sondaki bayt iki karakter olarak sayılır.

Örnek

// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;

CAtlString s(_T("abcdef"));
ASSERT(s.Right(2) == _T("ef"));   

CStringT::SetSysString

İşaret edilen pbstr öğesini BSTR yeniden yerleştirir ve karakteri dahil olmak üzere NULL nesnenin CStringT içeriğini içine kopyalar.

BSTR SetSysString(BSTR* pbstr) const;

Parametreler

pbstr
Karakter dizesi işaretçisi.

İade Değeri

Yeni dize.

Açıklamalar

nesnesinin içeriğine CStringT bağlı olarak, tarafından pbstr başvuruda bulunan BSTR değerini değiştirebilirsiniz. İşlev, yetersiz bellek varsa bir CMemoryException oluşturur.

Bu işlev normalde Otomasyon başvurusu tarafından geçirilen dizelerin değerini değiştirmek için kullanılır.

Örnek

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

tarafından tanımlanan pszCharSetkarakter kümesinde olmayan ilk karakterden başlayarak dizeden karakterleri ayıklar.

CStringT SpanExcluding(PCXSTR pszCharSet) const;

Parametreler

pszCharSet
Karakter kümesi olarak yorumlanan bir dize.

İade Değeri

dizesinde bulunmayan, dizedeki ilk karakterden başlayıp aynı zamanda pszCharSet içinde bulunan dizede bulunan ilk karakterle biten (yani, dizedeki ilk karakterden başlayıp bulunan pszCharSetdizedeki ilk karakteri hariç tutarak) içinde olmayan pszCharSetkarakterler içeren bir alt dize. dizesinde hiçbir karakter pszCharSet bulunamazsa dizenin tamamını döndürür.

Açıklamalar

SpanExcluding bir karakterin ilk oluşumundan pszCharSet önce gelen tüm karakterleri ayıklar ve döndürür (başka bir deyişle, pszCharSet dizede karakteri ve onu izleyen tüm karakterler döndürülemez). Dizede karakteri pszCharSet bulunamazsa, SpanExcluding dizenin tamamını döndürür.

Örnek

// 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("World Cup '98"));

_tprintf_s(_T("%s"),src.SpanExcluding(_T(";,.-'")));

CStringT::SpanIncluding

tarafından tanımlanan pszCharSetkarakter kümesindeki ilk karakterden başlayarak dizedeki karakterleri ayıklar.

CStringT SpanIncluding(PCXSTR pszCharSet) const;

Parametreler

pszCharSet
Karakter kümesi olarak yorumlanan bir dize.

İade Değeri

dizesindeki karakterleri içeren, dizedeki pszCharSetilk karakterden başlayıp içinde olmayan pszCharSetdizede bir karakter bulunduğunda biten bir alt dize. SpanIncluding dizedeki ilk karakter belirtilen kümede değilse boş bir alt dize döndürür.

Açıklamalar

Dizenin ilk karakteri karakter kümesinde değilse boş SpanIncluding bir dize döndürür. Aksi takdirde, kümedeki ardışık karakter dizisini döndürür.

Örnek

// 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

Hedef dizede sonraki belirteci bulur

CStringT Tokenize(PCXSTR pszTokens, int& iStart) const;

Parametreler

pszTokens
Belirteç sınırlayıcıları içeren bir dize. Bu sınırlayıcıların sırası önemli değildir.

iStart
Aramaya başlamak için sıfır tabanlı dizin.

İade Değeri

CStringT Geçerli belirteç değerini içeren bir nesne.

Açıklamalar

İşlev, Tokenize hedef dizede bir sonraki belirteci bulur. içindeki pszTokens karakter kümesi, bulunabilecek belirtecin olası sınırlayıcılarını belirtir. İşleve Tokenize yapılan her çağrı adresinden iStartbaşlar, baştaki sınırlayıcıları atlar ve geçerli belirteci içeren bir CStringT nesne döndürür. Bu, bir sonraki sınırlayıcı karaktere kadar olan karakter dizesidir. değeri iStart bitiş sınırlayıcısı karakterini izleyen konum olarak veya dizenin sonuna ulaşıldıysa -1 olarak güncelleştirilir. Sonraki belirtecin okunacağı dizenin yerini izlemek için kullanarak iStart hedef dizenin geri kalanından bir dizi çağrısıyla Tokenizedaha fazla belirteç ayrılabilir. Başka belirteç olmadığında işlev boş bir dize döndürür ve iStart -1 olarak ayarlanır.

, , , wcstok_sTokenize_wcstok_s_l_mbstok_s_l_strtok_s_l_mbstok_sgibi CRT belirteç işlevlerinden farklı olarak strtok_shedef dizeyi değiştirmez.

Örnek

// 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);
};   

Bu örnekten alınan çıkış aşağıdaki gibidir:

Resulting Token: First
Resulting Token: Second
Resulting Token: Third

CStringT::Trim

Dizedeki baştaki ve sondaki karakterleri keser.

CStringT& Trim(XCHAR chTarget);
CStringT& Trim(PCXSTR pszTargets);
CStringT& Trim();

Parametreler

chTarget
Kırpılacak hedef karakter.

pszTargets
Kırpılacak hedef karakterleri içeren bir dize işaretçisi. içindeki pszTargets karakterlerin baştaki ve sondaki tüm oluşumları nesneden CStringT kırpılır.

İade Değeri

Kırpılan dizeyi döndürür.

Açıklamalar

Aşağıdakilerden birinin tüm baştaki ve sondaki oluşumlarını kaldırır:

  • tarafından chTargetbelirtilen karakter.

  • tarafından pszTargetsbelirtilen dizede bulunan tüm karakterler.

  • Boşluk.

Örnek

// 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

Bu örnekten alınan çıkış aşağıdaki gibidir:

Before: "******Soccer is best, but liquor is quicker!!!!!"
After : "Soccer is best, but liquor is quicker"

CStringT::TrimLeft

Dizedeki baştaki karakterleri kırpılır.

CStringT& TrimLeft(XCHAR chTarget);
CStringT& TrimLeft(PCXSTR pszTargets);
CStringT& TrimLeft();

Parametreler

chTarget
Kırpılacak hedef karakter.

pszTargets
Kırpılacak hedef karakterleri içeren bir dize işaretçisi. içindeki pszTargets karakterlerin tüm baştaki oluşumları nesneden CStringT kırpılır.

İade Değeri

Sonuçta elde edilen kırpılan dize.

Açıklamalar

Aşağıdakilerden birinin tüm baştaki ve sondaki oluşumlarını kaldırır:

  • tarafından chTargetbelirtilen karakter.

  • tarafından pszTargetsbelirtilen dizede bulunan tüm karakterler.

  • Boşluk.

Örnek

// 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

Dizedeki sondaki karakterleri kırpılır.

CStringT& TrimRight(XCHAR chTarget);
CStringT& TrimRight(PCXSTR pszTargets);
CStringT& TrimRight();

Parametreler

chTarget
Kırpılacak hedef karakter.

pszTargets
Kırpılacak hedef karakterleri içeren bir dize işaretçisi. içindeki pszTargets karakterlerin sondaki tüm oluşumları nesneden CStringT kırpılır.

İade Değeri

CStringT Kırpılan dizeyi içeren nesneyi döndürür.

Açıklamalar

Aşağıdakilerden birinin sondaki oluşumlarını kaldırır:

  • tarafından chTargetbelirtilen karakter.

  • tarafından pszTargetsbelirtilen dizede bulunan tüm karakterler.

  • Boşluk.

Sürüm CStringT& TrimRight(XCHAR chTarget) bir karakter parametresi kabul eder ve bu karakterin tüm kopyalarını dize verilerinin sonundan CStringT kaldırır. Dizenin sonundan başlar ve öne doğru çalışır. Farklı bir karakter bulduğunda veya CStringT karakter verisi bittiğinde durur.

Sürüm, CStringT& TrimRight(PCXSTR pszTargets) aranacak tüm farklı karakterleri içeren null ile sonlandırılan bir dizeyi kabul eder. Nesnedeki CStringT bu karakterlerin tüm kopyalarını kaldırır. Dizenin sonundan başlar ve öne doğru çalışır. Hedef dizede olmayan bir karakter bulduğunda veya CStringT karakter verileri bittiğinde durur. Hedef dizenin tamamını sonundaki CStringTbir alt dizeyle eşleştirmeye çalışmaz.

Sürüm CStringT& TrimRight() için parametre gerekmez. Dizenin sonundaki boşluk karakterlerini kırpıyor CStringT . Boşluk karakterleri satır sonları, boşluklar veya sekmeler olabilir.

Örnek

// 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

Ayrıca bkz.

Hiyerarşi Grafiği
ATL/MFC Paylaşılan Sınıfları
CSimpleStringT Sınıfı