Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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_hInstResourcebelirtilen 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_hInstResourcebelirtilen 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
| Veri Akışı Adı | Açıklama |
|---|---|
CStringT::CStringT |
Bir CStringT nesneyi çeşitli yollarla oluşturur. |
CStringT::~CStringT |
Bir CStringT nesneyi yok eder. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CStringT::AllocSysString |
Verilerden BSTR bir CStringT 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
| Veri Akışı Adı | Açıklama |
|---|---|
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.
Not
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.
Not
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 BaseType parametrelerinin StringTraits 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 MFC DLL'sinden (MFC90.DLL) dışarı aktarılır, hiçbir zaman kullanıcı DLL'lerinden dışarı aktarılmaz. Bu, birden çok kez tanımlanmasını önlemek CStringT için yapılır.
Not
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:
CStringTbirleştirme işlemleri nedeniyle nesneler büyüyebilir.CStringTnesneleri "değer semantiğini" izler. Nesneyi birCStringTdize işaretçisi olarak değil gerçek bir dize olarak düşünün.İşlev bağımsız değişkenleri için
CStringTnesneleri serbestçe değiştirebilirsinizPCXSTR.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:
| Veri Akışı Adı | Açıklama |
|---|---|
XCHAR |
Nesneyle aynı karakter türüne wchar_t sahip tek bir karakter (charveya CStringT) . |
YCHAR |
Nesne olarak wchar_t karşı karakter türüne sahip tek bir karakter (charveya CStringT). |
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 . |
Not
Daha önce belgelenmemiş yöntemlerini CString (örneğinAssignCopy) kullanan kod, aşağıdaki belgelenmiş yöntemlerini CStringT (veya GetBuffergibiReleaseBuffer) kullanan kodla değiştirilmelidir. Bu yöntemler öğesinden CSimpleStringTdevralınır.
Devralma Hiyerarşisi
CStringT
Gereksinimler
| Üst bilgi | Şunun 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;
Dönüş 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 pszFormattanımlanan dize kaynağından ilgili biçim belirtimine nFormatID 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.
Dönüş 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. , strcoll, wcscoll, _mbscoll, _strcoll_l, , _mbscoll_l_wcscoll_l
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.
Dönüş 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.
Dönüş 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.
Dönüş 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 CThisStringhakkında CThisSimpleString 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 UnicodeCStringToluş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 birCStringToluşturur.CStringT(const unsigned char*psz): bir işaretçidenCStringTöğesine oluşturmanızıunsigned charsağlar.
Not
_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.
Not
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ı.
Dönüş 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.
Dönüş 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.
Dönüş 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 pszFormattanımlanan dize kaynağında nFormatID 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.
Not
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 pszFormat parametresinden nFormatID 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.
Not
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 CStringT şekilde bir vsprintf_s 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.
Dönüş 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.
Dönüş 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 chtarafından psz 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 nCount nesneden en soldaki CStringT 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ı.
Dönüş 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.
Dönüş 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();
Dönüş 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();
Dönüş 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();
Dönüş 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 nCount (sıfır tabanlı) başlayarak bu CStringT nesneden uzunluk iFirst 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.
Dönüş 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.
Not
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.
Not
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.
Not
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.
Dönüş 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.
Dönüş 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.
CStringW için Replacegeniş 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 ikisi | Tanımsız |
Ö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.
Dönüş 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);
CStringT::Right
Bu nCount nesneden son (en sağdaki) CStringT 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ı.
Dönüş 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 BSTR öğesini pbstr yeniden yerleştirir ve karakteri dahil olmak üzere CStringT nesnenin NULL içeriğini içine kopyalar.
BSTR SetSysString(BSTR* pbstr) const;
Parametreler
pbstr
Karakter dizesi işaretçisi.
Dönüş Değeri
Yeni dize.
Açıklamalar
nesnesinin içeriğine CStringT bağlı olarak, tarafından BSTR başvuruda bulunan pbstr 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.
Dönüş 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("abcdef"));
_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.
Dönüş 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.
Dönüş 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 Tokenize hedef dizenin geri kalanından bir dizi çağrısıyla iStartdaha fazla belirteç ayrılabilir. Başka belirteç olmadığında işlev boş bir dize döndürür ve iStart -1 olarak ayarlanır.
, , , strtok_s_strtok_s_lwcstok_s_wcstok_s_l_mbstok_s_mbstok_s_lgibi CRT belirteç işlevlerinden farklı olarak Tokenizehedef 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.
Dönüş 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.
Dönüş 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.
Dönüş 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