Udostępnij za pośrednictwem


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

CStringT::CStringT

Konstrukcje CStringT obiektu na różne sposoby.

CStringT:: ~ CStringT

Niszczy CStringT obiektu.

Metody publiczne

Nazwa

Opis

CStringT::AllocSysString

Przydziela BSTR z CStringT danych.

CStringT::AnsiToOem

Dzięki konwersji na miejscu z zestawu znaków OEM zestaw znaków ANSI.

CStringT::AppendFormat

Dołącza do istniejącego formatowania danych CStringT obiektu.

CStringT::Collate

Porównuje dwa ciągi (rozróżniana wielkość liter, informacje o specyficznych zastosowań).

CStringT::CollateNoCase

Porównuje dwa ciągi (niewrażliwe w przypadku, informacje o specyficznych zastosowań).

CStringT::Compare

Porównuje dwa ciągi (z uwzględnieniem wielkości liter).

CStringT::CompareNoCase

Porównuje dwa ciągi (z uwzględnieniem wielkości liter).

CStringT::Delete

Usuwa znaki z ciągu.

CStringT::Find

Wyszukuje znak lub podciągu wewnątrz większy ciąg.

CStringT::FindOneOf

Wyszukuje pasujące pierwszy znak z zestawu.

CStringT::Format

Formatuje ciąg jako sprintf jest.

CStringT::FormatMessage

Formatuje ciąg wiadomości.

CStringT::FormatMessageV

Formatuje ciąg wiadomości przy użyciu listy argumentów zmiennej.

CStringT::FormatV

Formatuje ciąg przy użyciu zmiennej listy argumentów.

CStringT::GetEnvironmentVariable

Ustawia wartość zmiennej środowiskowej określony ciąg.

CStringT::Insert

Wstawia pojedynczy znak lub podciągu w danym indeksie w ciągu.

CStringT::Left

Wyodrębnia lewa część ciągu.

CStringT::LoadString

Ładuje istniejący CStringT obiekt z zasobów systemu Windows.

CStringT::MakeLower

Konwertuje wszystkie znaki w tym ciągu na małe litery.

CStringT::MakeReverse

Odwraca ciąg.

CStringT::MakeUpper

Konwertuje wszystkie znaki tego ciągu na wielkie litery.

CStringT::Mid

Wyodrębnia środkowa część ciągu.

CStringT::OemToAnsi

Dzięki konwersji na miejscu z zestawu znaków ANSI zestaw znaków OEM.

CStringT::Remove

Usuwa wskazane znaków z ciągu.

CStringT::Replace

Zamienia wskazany znaków z innych znaków.

CStringT::ReverseFind

Wyszukuje znak wewnątrz ciągu większych; rozpoczyna się od końca.

CStringT::Right

Wyodrębnia prawa część ciągu.

CStringT::SetSysString

Określa istniejący BSTR obiektu danych z CStringT obiektu.

CStringT::SpanExcluding

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.

CStringT::SpanIncluding

Podciąg, który zawiera tylko znaki w zestawie.

CStringT::Tokenize

Ekstrakty określony tokenów w ciągu docelowym.

CStringT::Trim

Przycina wszystkie początkowe i końcowe znaki światła z ciągu.

CStringT::TrimLeft

TRIM prowadzące odstępy znaków z ciągu.

CStringT::TrimRight

TRIM końcowe znaki światła z ciągu.

Operatory

CStringT::operator =

Przypisuje nową wartość do CStringT obiektu.

CStringT::operator +

Łączy dwa ciągi lub znaków i ciąg znaków.

CStringT::operator +=

Łączy nowy ciąg na końcu istniejącego ciągu.

CStringT::operator ==

Określa, czy dwa ciągi znaków są równe logicznie.

CStringT::operator! =

Określa, czy dwa ciągi logicznie nie są równe.

CStringT::operator <

Określa, czy ciąg po lewej stronie operatora jest mniejsza niż do ciągu po prawej stronie.

CStringT::operator >

Określa, czy ciąg po lewej stronie operatora jest większa niż ciąg po prawej stronie.

CStringT::operator < =

Określa, czy ciąg po lewej stronie operatora jest mniejsza lub równa ciąg po prawej stronie.

CStringT::operator > =

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

CSimpleStringT

CStringT

Wymagania

Nagłówek

Użyj dla

cstringt.h

Obiekty ciąg tylko MFC

atlstr.h

Brak MFC ciąg obiektów

Zobacz też

Informacje

Diagram hierarchii

Klasa CSimpleStringT

Inne zasoby

ATL/MFC udostępnione klas