Aracılığıyla paylaş


Temel CString işlemleri

Bu konu aşağıdaki temel açıklar CString işlemleri:

  • Standart c harflerden oluşan dizeler CString nesneleri oluşturma

  • Tek tek karakterleri bir CString erişme

  • İki CString nesnelerini bitiştirmek

  • CString nesneleri karşılaştırma

  • CString nesneleri dönüştürme

Class CStringsınıf şablonunu temel alarak CStringT sınıfı.CStringis a typedef of CStringT.Daha tam olarak CString olan bir typedef , bir açık uzmanlığı , CStringT, bir sınıf tanımlamak için bir sınıf şablonu kullanmak için ortak bir yol değil.Benzer şekilde tanımlanmış sınıflar CStringA ve CStringW.Açık uzmanlığı ile ilgili daha fazla bilgi için bkz: Sınıf şablonu oluşturmada.

CString, CStringA, ve CStringW atlstr.h tanımlanır.CStringTcstringt.h içinde tanımlanır.

CString, CStringA, ve CStringW her alma yöntemleri ve operatörleri tarafından tanımlanan bir dizi CStringT destekledikleri dize verisi ile kullanmak için.Yinelenen ve bazı durumlarda yöntemlerden bazılarını dize Hizmetleri c Çalışma Zamanı Kitaplığı aşan.

Not: CString doğal bir sınıftır.c + kullanımda olan bir string sınıfı için +/ CLI yönetilen proje, use System.String.

Standart c harflerden oluşan dizeler CString nesneleri oluşturma

c-style harflerden oluşan dizeler için atadığınız bir CString birini atamak gibi CString başka bir nesne.

  • c bir sabit dize değeri atamak bir CString nesnesi.

    CString myString = _T("This is a test");   
    
  • Bir değer Ata CString başka bir CString nesnesi.

    CString oldString = _T("This is a test");
    CString newString = oldString;
    

    İçeriğini bir CString bir nesne kopyalanıp kopyalanmayacağını CString nesne başka birine atanmış.Bu nedenle, iki dize dize yapmak gerçek karakter referansı paylaşmayın.Nasıl kullanılacağı hakkında daha fazla bilgi için CString değerleri, nesneleri Bkz: CString semantiği.

    [!NOT]

    Unicode veya ANSI, kod harflerden oluşan dizeler _t makro kullanarak derlenebilir böylece uygulamanızın yazılacak.Daha fazla bilgi için bkz. (mbcs) desteği Unicode ve birden çok baytlı karakter kümesi.

Tek tek karakterleri bir CString erişme

Tek tek karakterleri erişebileceği bir CString kullanarak nesne GetAt ve SetAt yöntemleri.Dizi öğesi veya alt simge, operatörü ([]) yerine de kullanılabilir GetAt karakterleri tek tek almak için.(Bu erişen dizi öğelerini Standart c-style strings olduğu gibi dizin tarafından benzer.) Dizin değerlerini CString karakter sıfır tabanlı.

İki CString nesnelerini bitiştirmek

İki bitiştirmek için CString nesneleri, birleştirme işleçleri kullanın (+ veya +=) gibi.

CString s1 = _T("This ");        // Cascading concatenation
s1 += _T("is a ");
CString s2 = _T("test");
CString message = s1 + _T("big ") + s2;  
// Message contains "This is a big test".

Birleştirme işleçleri için en az bir bağımsız değişken (+ veya +=) olması gerekir bir CString nesnesi, ancak sabit karakter dizesini kullanabilirsiniz (örneğin, "big") veya bir char (örneğin, ' x') diğer bağımsız değişkeni için.

CString nesneleri karşılaştırma

Compare Yöntemi ve için operator == CString eşdeğerdir.Compare, operator==, ve CompareNoCase mbcs ve Unicode; farkında CompareNoCaseAyrıca duyarlıdır.Collate Yöntemi, CString yerel ayar duyarlı olduğunu ve genellikle daha yavaş Compare.Use Collate yalnızca burada, sıralama uymalısınız kuralları belirtildiği şekilde geçerli yerele göre.

Aşağıdaki tablo kullanılabilir gösterir CString karşılaştırma işlevleri ve karşılığı mbcs/Unicode-portable işlevlerini c Çalışma Zamanı Kitaplığı'nda.

CString işlevi

mbcs işlevi

Unicode işlevi

Compare

_mbscmp

wcscmp

CompareNoCase

_mbsicmp

_wcsicmp

Collate

_mbscoll

wcscoll

CStringT Sınıf şablonu ilişkisel işleçler tanımlar (<, < =, > =, >, ==, ve! =), hangi tarafından kullanılması için kullanılabilir CString.İki karşılaştırma CStrings aşağıdaki örnekte gösterildiği gibi bu işleçleri kullanarak.

CString s1(_T("Tom"));
CString s2(_T("Jerry"));
ASSERT(s2 < s1);

CString nesneleri dönüştürme

CString nesneleri diğer dize türleri için dönüştürme hakkında daha fazla bilgi için bkz: Çeşitli Dize Türleri Arasında Dönüştürme Nasıl Yapılır.

Wcout ile CString kullanma

CString ile kullanmak için wcout nesneye açıkça dönüştürmelisiniz bir const wchar_t* aşağıdaki örnekte gösterildiği gibi:

CString cs("meow");
  wcout << (const wchar_t*) cs << endl;

Dönüþtürme olmadan cs olarak bir void* ve wcout nesnesinin adres yazdırır.Bu davranış, C++ standardına doğru kendileri Şablon değişkeni kesintisi ve aşırı çözümlemesi ve uyumluluğunu arasındaki ince etkileşimler kaynaklanır.

Ayrıca bkz.

Başvuru

CStringT sınıfı

Sınıf şablonu oluşturmada

Sınıf şablonları açık uzmanlığı

Kısmi uzmanlığı sınıf şablonları (C++)

Kavramlar

Çeşitli Dize Türleri Arasında Dönüştürme Nasıl Yapılır

Diğer Kaynaklar

Dizeler (atl/mfc)