Klasa CStringT
Ta klasa reprezentuje CStringT obiektu.
template< typename BaseType, class StringTraits >
class CStringT :
public CSimpleStringT< BaseType, _CSTRING_IMPL_::_MFCDLLTraitsCheck< BaseType, StringTraits > ::c_bIsMFCDLLTraits>
Parametry
BaseType
Typ znaków klasy string.Może być jedną z następujących czynności:char(dla ciągów znaków ANSI).
wchar_t(dla ciągów znaków Unicode).
TCHAR (dla ciągów znaków Unicode i ANSI).
StringTraits
Określa, jeżeli klasy string potrzebuje wsparcia biblioteka uruchomieniowa C (CRT) i gdzie znajdują się zasobów ciągu.Może być jedną z następujących czynności:StrTraitATL < wchar_t | char | TCHAR, ChTraitsCRT < wchar_t | char | TCHAR > >
Klasa wymaga wsparcia CRT i wyszukuje ciągi zasobów w module określonym przez m_hInstResource (członek klasy moduł aplikacji).
StrTraitATL < wchar_t | char | TCHAR, ChTraitsOS < wchar_t | char | TCHAR > >
Klasa nie wymaga obsługi CRT i wyszukuje ciągi zasobów w module określonym przez m_hInstResource (członek klasy moduł aplikacji).
StrTraitMFC < wchar_t | char | TCHAR, ChTraitsCRT < wchar_t | char | TCHAR > >
Klasa wymaga wsparcia CRT i wyszukuje ciągi zasobów za pomocą standardowego algorytmu wyszukiwania MFC.
StrTraitMFC < wchar_t | char | TCHAR, ChTraitsOS < wchar_t | char | TCHAR > >
Klasa nie wymaga obsługi CRT i wyszukuje ciągi zasobów za pomocą standardowego algorytmu wyszukiwania MFC.
Członkowie
Publiczne konstruktory
Nazwa |
Opis |
---|---|
Konstrukcje CStringT obiektu na różne sposoby. |
|
Niszczy CStringT obiektu. |
Metody publiczne
Nazwa |
Opis |
---|---|
Przydziela BSTR z CStringT danych. |
|
Dzięki konwersji na miejscu z zestawu znaków OEM zestaw znaków ANSI. |
|
Dołącza do istniejącego formatowania danych CStringT obiektu. |
|
Porównuje dwa ciągi (rozróżniana wielkość liter, informacje o specyficznych zastosowań). |
|
Porównuje dwa ciągi (niewrażliwe w przypadku, informacje o specyficznych zastosowań). |
|
Porównuje dwa ciągi (z uwzględnieniem wielkości liter). |
|
Porównuje dwa ciągi (z uwzględnieniem wielkości liter). |
|
Usuwa znaki z ciągu. |
|
Wyszukuje znak lub podciągu wewnątrz większy ciąg. |
|
Wyszukuje pasujące pierwszy znak z zestawu. |
|
Formatuje ciąg jako sprintf jest. |
|
Formatuje ciąg wiadomości. |
|
Formatuje ciąg wiadomości przy użyciu listy argumentów zmiennej. |
|
Formatuje ciąg przy użyciu zmiennej listy argumentów. |
|
Ustawia wartość zmiennej środowiskowej określony ciąg. |
|
Wstawia pojedynczy znak lub podciągu w danym indeksie w ciągu. |
|
Wyodrębnia lewa część ciągu. |
|
Ładuje istniejący CStringT obiekt z zasobów systemu Windows. |
|
Konwertuje wszystkie znaki w tym ciągu na małe litery. |
|
Odwraca ciąg. |
|
Konwertuje wszystkie znaki tego ciągu na wielkie litery. |
|
Wyodrębnia środkowa część ciągu. |
|
Dzięki konwersji na miejscu z zestawu znaków ANSI zestaw znaków OEM. |
|
Usuwa wskazane znaków z ciągu. |
|
Zamienia wskazany znaków z innych znaków. |
|
Wyszukuje znak wewnątrz ciągu większych; rozpoczyna się od końca. |
|
Wyodrębnia prawa część ciągu. |
|
Określa istniejący BSTR obiektu danych z CStringT obiektu. |
|
Wyodrębnia znaków z ciągu, począwszy od pierwszego znaku, który nie są dostępne w zestawie znaków określonych przez pszCharSet. |
|
Podciąg, który zawiera tylko znaki w zestawie. |
|
Ekstrakty określony tokenów w ciągu docelowym. |
|
Przycina wszystkie początkowe i końcowe znaki światła z ciągu. |
|
TRIM prowadzące odstępy znaków z ciągu. |
|
TRIM końcowe znaki światła z ciągu. |
Operatory
Przypisuje nową wartość do CStringT obiektu. |
|
Łączy dwa ciągi lub znaków i ciąg znaków. |
|
Łączy nowy ciąg na końcu istniejącego ciągu. |
|
Określa, czy dwa ciągi znaków są równe logicznie. |
|
Określa, czy dwa ciągi logicznie nie są równe. |
|
Określa, czy ciąg po lewej stronie operatora jest mniejsza niż do ciągu po prawej stronie. |
|
Określa, czy ciąg po lewej stronie operatora jest większa niż ciąg po prawej stronie. |
|
Określa, czy ciąg po lewej stronie operatora jest mniejsza lub równa ciąg po prawej stronie. |
|
Określa, czy ciąg po lewej stronie operatora jest większa lub równa ciąg po prawej stronie. |
Uwagi
CStringTdziedziczy z Klasy CSimpleStringT.Zaawansowane funkcje, takie jak znak manipulacji, porządkowanie i wyszukiwania, są implementowane przez CStringT.
[!UWAGA]
CStringTobiekty są zdolne do generowania wyjątków.Dzieje się podczas CStringT obiektu zabraknie pamięci z jakiegokolwiek powodu.
A CStringT obiekt składa się z sekwencji znaków o zmiennej długości.CStringTudostępnia funkcje i operatory, używając składni podobne do Basic.Konkatenacja i operatory porównania, oraz zarządzanie pamięcią uproszczone, CStringT łatwiejszy w użyciu niż znaków zwykłych tablic obiektów.
[!UWAGA]
Chociaż tworzenie CStringT wystąpień, które zawierają osadzone znaków null, zaleca się przed nim.Wywołanie metody i operatorów w CStringT obiektów, które zawierają osadzone znaków null może spowodować niepożądane wyniki.
Za pomocą różnych kombinacji BaseType i StringTraits parametry, CStringT obiekty mogą pochodzić w następujących typów, które zostały zdefiniowane wstępnie przez biblioteki ATL.
Jeśli używany w aplikacji ATL:
CString, CStringA, i CStringW są wywożone z biblioteki MFC DLL (MFC90.Biblioteka DLL), nigdy nie od użytkownika dll.Ma to zapobiec CStringT z mnożenie zdefiniowany.
[!UWAGA]
Jeśli napotkane błędy programu łączącego podczas eksportowania CString-pochodną klasy MFC DLL w Visual C++ .net 2002 rozszerzenie i zastosowano obejście opisane w artykule bazy wiedzy Knowledge Base "Łączenie błędy podczas możesz importu CString-Derived klasy" (Q309801), należy usunąć kod rozwiązania, ponieważ ustalono w Visual C++ .net 2003.Artykuły bazy wiedzy Knowledge Base można znaleźć MSDN Library CD-ROM lub na https://support.microsoft.com/support.
Dostępne w aplikacjach MFC są następujące typy ciąg:
Typ CStringT |
Deklaracja |
---|---|
CStringA |
Znak ANSI, wpisz ciąg z obsługą CRT. |
CStringW |
Znak Unicode, wpisz ciąg z obsługą CRT. |
CString |
Zarówno ANSI i Unicode typy znaków z obsługą CRT. |
Następujący ciąg w są dostępne typy projektów, gdzie ATL_CSTRING_NO_CRT jest zdefiniowana:
Typ CStringT |
Deklaracja |
---|---|
CAtlStringA |
Znak ANSI, wpisz ciąg bez obsługi CRT. |
CAtlStringW |
Znak Unicode, wpisz ciąg bez obsługi CRT. |
CAtlString |
Zarówno ANSI i Unicode typy znaków bez obsługi CRT. |
Następujący ciąg w są dostępne typy projektów, gdzie ATL_CSTRING_NO_CRT nie jest zdefiniowana:
Typ CStringT |
Deklaracja |
---|---|
CAtlStringA |
Znak ANSI, wpisz ciąg z obsługą CRT. |
CAtlStringW |
Znak Unicode, wpisz ciąg z obsługą CRT. |
CAtlString |
Zarówno ANSI i Unicode typy znaków z obsługą CRT. |
CStringobiekty mają również następujące cechy:
CStringTobiekty można powiększać w wyniku operacji łączenia.
CStringTobiekty wykonaj "wartość semantykę." Pomyśl o CStringT obiektu jako rzeczywistym ciągiem znaków, a nie jako wskaźnik na ciąg.
Można zastąpić swobodnie CStringT obiektów dla PCXSTR działać argumentów.
Zarządzanie niestandardowe pamięci dla buforów ciąg.Aby uzyskać więcej informacji, zobacz Zarządzanie pamięcią i CStringT.
CStringT wstępnie zdefiniowanych typów
Ponieważ CStringT używa argumentu szablon, aby zdefiniować typ znaków (albo wchar_t lub char) obsługiwane typy parametrów metody może być skomplikowane w czasie.Aby uprościć ten problem, zestaw wstępnie zdefiniowanych typów zdefiniowane i używane w całej CStringT klasy.W poniższej tabeli przedstawiono różne typy:
Nazwa |
Opis |
---|---|
XCHAR |
Pojedynczy znak (albo wchar_t lub char) z tego samego typu znaków jako CStringT obiektu. |
YCHAR |
Pojedynczy znak (albo wchar_t lub char) z typem znak przeciwny jako CStringT obiektu. |
PXSTR |
Wskaźnik do ciągu znaków (albo wchar_t lub char) z tego samego typu znaków jako CStringT obiektu. |
PYSTR |
Wskaźnik do ciągu znaków (albo wchar_t lub char) z typem znak przeciwny jako CStringT obiektu. |
PCXSTR |
Wskaźnik do const ciąg znaków (albo wchar_t lub char) z tego samego typu znaków jako CStringT obiektu. |
PCYSTR |
Wskaźnik do const ciąg znaków (albo wchar_t lub char) z typem znak przeciwny jako CStringT obiektu. |
[!UWAGA]
Kod, który poprzednio używane metody nieudokumentowanych CString (takich jak AssignCopy) należy zastąpić kod, który używa następujących metod udokumentowane CStringT (takich jak GetBuffer lub ReleaseBuffer).Metody te są dziedziczone z CSimpleStringT.
Hierarchii dziedziczenia
CStringT
Wymagania
Nagłówek |
Użyj dla |
---|---|
cstringt.h |
Obiekty ciąg tylko MFC |
atlstr.h |
Brak MFC ciąg obiektów |