CStringT::Replace
İki sürümü vardır Replace.İlk sürüm, başka bir dize kullanarak bir alt dizeden bir veya daha fazla kopyasını yerini alır. Her iki alt dizeleri boşlukla sonlandırılmış. İkinci Sürüm, bir karakterin bir veya daha fazla kopyaları başka bir karakter kullanarak değiştirir. Her iki sürümü de depolanan karakter verileri üzerinde çalışan CStringT.
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
Parametreler
pszOld
Boş sonlandırılmış bir dize değiştirilmesi için bir işaretçi pszNew.pszNew
Yerini alan boş sonlandırılmış bir dize işaretçisi pszOld.chOld
Değiştirilmesi için karakter chNew.chNew
Karakter değiştirme chOld.
Dönüş Değeri
Dize değişmez, karakter veya alt dize ya da sıfır değiştirilen örneklerini sayısını verir.
Notlar
Replaceçünkü dize uzunluğunu değiştirmek için pszNew ve pszOld aynı uzunlukta olması gerekmez ve eski alt dize birden fazla kopyasını yeni bir tane için değiştirilebilir. Büyük küçük harf eşleştir işlevi görür.
Examples of CStringT instances are CString, CStringA, and CStringW.
İçin CStringA, Replace ANSI ya da birden çok baytlı (mbcs) karakterler ile çalışır. İçin CStringW, Replace geniş karakterlerle çalışır.
İçin CString, karakter veri türü sabit değerleri aşağıdaki tabloda tanımlanmış olan temel derleme zamanında seçilir.
Tanımlanmış sabiti |
Karakter veri türü |
---|---|
_UNICODE |
Geniş karakter |
_MBCS |
Baytlı karakterler |
Ne |
Tek baytlık karakter |
Her ikisi de |
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);
Gereksinimler
Başlık: cstringt.h