CString nie klasy podstawowej.
Obiekt CString składa się z sekwencji o zmiennej długości znaków. CString zapewnia funkcje i operatory składnia podobna do tej z Basic. Konkatenacja i operatorów porównania, wraz z pamięci uproszczone zarządzanie, uczynić obiekty CString łatwiejszy w użyciu niż znaków zwykłych tablic.
CString jest oparte na typie danych TCHAR . Jeśli symbol _UNICODE jest zdefiniowany dla programu, TCHAR jest zdefiniowany jako typ wchar_t, typu znaków 16-bitowych; w przeciwnym przypadku jest ona zdefiniowana jako char, typu zwykłych znaków 8-bitowych. W Unicode następnie CString obiekty składają znaków 16-bitowych. Bez Unicode są one składający się z 8-bitowe char typu.
Gdy nie przy użyciu _UNICODE, CString jest włączona dla znaków wielobajtowych zestawów (MBCS, zestawów znany również jako znaków dwubajtowych znaków DBCS). Należy zauważyć, że MBCS ciągi, CString nadal zlicza zwraca i operuje ciągi oparte na 8-bitowe znaki i aplikacji należy interpretować MBCS ołowiu i trail bajtów, sam.
CString obiekty mają również następujące cechy:
Porada W przypadku gdy jest to możliwe, należy przydzielić obiektów CString w ramce, raczej niż na stercie. Powoduje to zapisanie pamięci i upraszcza parametr przekazując.
CStri&ng pomaga w oszczędność miejsca w pamięci umożliwiając dwóch ciągów współużytkowanie tej samej wartości również udostępnienie tego samego space.nbsp buforu; Jednakże jeżeli próby bezpośrednio zmienić zawartość buforu (nie używając MFC), można zmienić zarówno ciągi przypadkowo. CString oferuje dwie funkcje składowe, CString::LockBuffer i CString::UnlockBuffer, aby pomóc chronić dane. Podczas wywoływania LockBuffer, utwórz kopię ciąg, następnie ustawić licznika odwołań równą -1, którego "blokuje" bufor. Podczas gdy bufor jest zablokowany, nie inne ciągi może odwołują się do danych w ciągu, a zablokowane ciąg nie będzie odwołania do innego ciągu. Blokowanie ciąg w buforze, można zapewnić, że posiadają wyłączne ciąg danych pozostaną nienaruszone. Po zakończeniu z danymi, wywołanie UnlockBuffer do resetowania licznika odwołań do 1.
Aby uzyskać więcej informacji, zobacz ciągów w MFC i ciągów: Unicode i ustawić znaki wielobajtowe (MBCS) wsparcie artykuły w Visual C++ Programmer's Guide i Ciąg manipulacji procedur w Run-Time Library Reference.
# include lt;afx.h>
Członkowie klasy |nbsp; Wykres hierarchii
Próbki MFC próbki HELLO
Zobacz też W Visual C++ Programmer's Guide: ciągi: podstawowe operacje CString, ciągi: semantyki CString, ciągi: CString działań odnoszących się do C-Style ciągi, ciągi: oczyszczanie wyjątek CString, ciągi: przekazywania argumentu CString