Sdílet prostřednictvím


Třída CStringT

Tato třída představuje CStringT objektu.

template< typename BaseType, class StringTraits > 
class CStringT :  
public CSimpleStringT<   BaseType,   _CSTRING_IMPL_::_MFCDLLTraitsCheck<      BaseType,      StringTraits   >   ::c_bIsMFCDLLTraits>

Parametry

  • BaseType
    Znak typu třídy string.Může být jeden z následujících:

    • char(pro řetězce znaků ANSI).

    • wchar_t(pro řetězce znaků Unicode).

    • TCHAR (pro řetězce znaků Unicode i ANSI).

  • StringTraits
    Určí, pokud třída string potřebuje podporu knihovně C Runtime (CRT) a kde jsou umístěny prostředky řetězec.Může být jeden z následujících:

    • StrTraitATL < wchar_t | char | TCHAR, ChTraitsCRT < wchar_t | char | TCHAR > >

      Třída vyžaduje podporu CRT a vyhledá řetězce prostředek určený modul m_hInstResource (člen třídy modul aplikace).

    • StrTraitATL < wchar_t | char | TCHAR, ChTraitsOS < wchar_t | char | TCHAR > >

      Třída nevyžaduje podporu CRT a vyhledá řetězce prostředek určený modul m_hInstResource (člen třídy modul aplikace).

    • StrTraitMFC < wchar_t | char | TCHAR, ChTraitsCRT < wchar_t | char | TCHAR > >

      Třída vyžaduje podporu CRT a vyhledá pomocí standardního algoritmu hledání MFC zdrojové řetězce.

    • StrTraitMFC < wchar_t | char | TCHAR, ChTraitsOS < wchar_t | char | TCHAR > >

      Třída nevyžaduje podporu CRT a vyhledá pomocí standardního algoritmu hledání MFC zdrojové řetězce.

Členy

Veřejné konstruktory

Název

Description

CStringT::CStringT

Konstrukce CStringT objektu různými způsoby.

CStringT:: ~ CStringT

Ničí CStringT objektu.

Veřejné metody

Název

Description

CStringT::AllocSysString

Přidělí BSTR z CStringT data.

CStringT::AnsiToOem

Provede převod v místě znakovou sadu OEM znakové sady ANSI.

CStringT::AppendFormat

Formátovaná data připojí ke stávajícímu CStringT objektu.

CStringT::Collate

Porovná dva řetězce (velká a malá písmena, informace o použití národního prostředí).

CStringT::CollateNoCase

Porovná dva řetězce (případ nízkou citlivostí, informace o použití národního prostředí).

CStringT::Compare

Porovná dva řetězce (jsou rozlišována malá a velká písmena).

CStringT::CompareNoCase

Porovná dva řetězce (nerozlišuje malá a velká písmena).

CStringT::Delete

Odstraní znaky z řetězce.

CStringT::Find

Najde znaky nebo podřetězec uvnitř větších řetězec.

CStringT::FindOneOf

Nalezne první odpovídající znakové sady.

CStringT::Format

Zformátuje řetězec jako sprintf nemá.

CStringT::FormatMessage

Zformátuje řetězec zprávy.

CStringT::FormatMessageV

Zformátuje řetězec zprávy pomocí Proměnný seznam argumentů.

CStringT::FormatV

Zformátuje řetězec pomocí Proměnný seznam argumentů.

CStringT::GetEnvironmentVariable

Nastaví hodnotu proměnné prostředí zadaný řetězec.

CStringT::Insert

Vloží znak nebo řetězec v daném indexu v řetězci.

CStringT::Left

Extrahuje levá část řetězce.

CStringT::LoadString

Načte existující CStringT objekt z prostředků systému Windows.

CStringT::MakeLower

Převede všechny znaky tento řetězec na malá písmena.

CStringT::MakeReverse

Vrátí řetězec.

CStringT::MakeUpper

Převede všechny znaky tento řetězec na velká písmena.

CStringT::Mid

Extrahuje střední část řetězce.

CStringT::OemToAnsi

Provádí v místě převod z OEM znakové sady znakové sady ANSI.

CStringT::Remove

Odebere uvedených znaků z řetězce.

CStringT::Replace

Nahradí uvedené znaky s jinými znaky.

CStringT::ReverseFind

Najde znaky uvnitř větších řetězec; začíná od konce.

CStringT::Right

Extrahuje pravou část řetězce.

CStringT::SetSysString

Nastaví existující BSTR s daty z objektu CStringT objektu.

CStringT::SpanExcluding

Extrahuje znaky z řetězce počínaje prvním znakem, které nejsou v sadě znaků, které jsou označeny pszCharSet .

CStringT::SpanIncluding

Extrahuje podřetězec obsahující znaky v sadě.

CStringT::Tokenize

Výpisy zadán řetězec cílové tokeny.

CStringT::Trim

Ořízne všechny úvodní a koncové mezery znaků z řetězce.

CStringT::TrimLeft

TRIM, úvodní mezery znaků z řetězce.

CStringT::TrimRight

TRIM, koncové mezery znaků z řetězce.

Operátory

CStringT::operator =

Přiřadí nová hodnota CStringT objektu.

CStringT::operator +

Spojuje dva řetězce znaků a řetězec.

CStringT::operator +=

Připojí nový řetězec na konec existující řetězec.

CStringT::operator ==

Pokud jsou dva řetězce stejné logicky určuje.

CStringT::operator! =

Určuje-li dva řetězce se logicky neshodují.

CStringT::operator <

Určuje, zda je řetězec na levé straně operátor menší než na řetězec na pravé straně.

CStringT::operator >

Určuje, zda řetězec na levé straně operátoru je větší než řetězec na pravé straně.

CStringT::operator < =

Určuje, zda je řetězec na levé straně operátoru menší nebo rovna řetězci na pravé straně.

CStringT::operator > =

Určuje, zda řetězec na levé straně operátoru je větší než nebo rovna řetězci na pravé straně.

Poznámky

CStringTod CSimpleStringT třídy.Rozšířené funkce, například znak manipulace, řazení a hledání, jsou implementovány pomocí CStringT .

[!POZNÁMKA]

CStringTobjekty jsou schopny výjimky.K této situaci dochází při CStringT objektu dostatek paměti z nějakého důvodu.

A CStringT objekt obsahuje proměnné délky posloupnosti znaků.CStringTposkytuje funkce a operátory pomocí syntaxe podobné Basic.Zřetězení a operátory porovnání s paměti zjednodušená správa CStringT snadnější použití než běžný znak pole objektů.

[!POZNÁMKA]

Ačkoli je možné vytvořit CStringT instancí, které obsahují vložené znaky null, doporučujeme před ním.Volání metody a operátory v CStringT objekty, které obsahují vložené znaky null může způsobit neočekávané výsledky.

Pomocí různých kombinací BaseType a StringTraits parametry, CStringT mohou pocházet v následujících typech, které byly předdefinovány knihovny ATL objekty.

Pokud používáte v aplikaci ATL:

CString, CStringA , a CStringW jsou exportovány z DLL MFC (MFC90.(DLL), nikdy od uživatele knihovny DLL.Důvodem je zabránit CStringT z definovaného násobit.

[!POZNÁMKA]

Pokud zjistil chyby při exportu CString -třídy odvozené z rozšíření knihovny DLL v aplikaci Visual C++ .net 2002 MFC a použili řešení popsané v článku znalostní báze Knowledge Base "Propojení chyby při můžete importovat CString-Derived třídy" (Q309801) byste měli odebrat kód řešení, protože tato chyba byla opravena Visual C++ .net 2003.Články znalostní báze Knowledge Base můžete najít na disku CD-ROM MSDN Library, nebo na https://support.microsoft.com/support.

Jsou k dispozici v rámci aplikací MFC následující typy řetězec:

Typ CStringT

Prohlášení

CStringA

Znak ANSI, zadejte řetězec s podporou CRT.

CStringW

Znak Unicode zadejte řetězec s podporou CRT.

CString

Kódování Unicode i ANSI znakové typy s podporou CRT.

Následující řetězec typy jsou k dispozici v projektech, kde ATL_CSTRING_NO_CRT je definován:

Typ CStringT

Prohlášení

CAtlStringA

Znak ANSI, zadejte řetězec bez podpory CRT.

CAtlStringW

Znak Unicode zadejte řetězec bez podpory CRT.

CAtlString

Kódování Unicode i ANSI znakové typy bez podpory CRT.

Následující řetězec typy jsou k dispozici v projektech, kde ATL_CSTRING_NO_CRT není definován:

Typ CStringT

Prohlášení

CAtlStringA

Znak ANSI, zadejte řetězec s podporou CRT.

CAtlStringW

Znak Unicode zadejte řetězec s podporou CRT.

CAtlString

Kódování Unicode i ANSI znakové typy s podporou CRT.

CStringobjekty mají také následující vlastnosti:

  • CStringTobjekty můžete zvětšit z operací zřetězení.

  • CStringTobjekty podle "hodnota sémantiku." Představte si, že CStringT objektu jako skutečné řetězec, nikoli jako ukazatel na řetězec.

  • Volně lze nahradit CStringT pro objekty PCXSTR argumenty funkce.

  • Správa vlastní paměti pro vyrovnávací paměti řetězec.Další informace naleznete v tématu Správa paměti a CStringT.

CStringT předdefinované typy

Protože CStringT používá šablonu argument typ znak (buď wchar_t nebo char) podporovány typy parametrů metody může být složité době.Zjednodušit tento problém, sadu předdefinovaných typů definovaných a používány CStringT třídy.Následující tabulka uvádí různé typy:

Název

Description

XCHAR

Znak (buď wchar_t nebo char ) stejného typu jako znak CStringT objektu.

YCHAR

Znak (buď wchar_t nebo char ) s opačným znak typu jako CStringT objektu.

PXSTR

Ukazatel na řetězec znaků (buď wchar_t nebo char ) stejného typu jako znak CStringT objektu.

PYSTR

Ukazatel na řetězec znaků (buď wchar_t nebo char ) s opačným znak typu jako CStringT objektu.

PCXSTR

Ukazatel const řetězec znaků (buď wchar_t nebo char ) stejného typu jako znak CStringT objektu.

PCYSTR

Ukazatel const řetězec znaků (buď wchar_t nebo char ) s opačným znak typu jako CStringT objektu.

[!POZNÁMKA]

Kód, který již používá nezdokumentovaný metody CString (jako například AssignCopy) nutné nahradit kód, který používá následující dokumentované metody CStringT (jako GetBuffer nebo ReleaseBuffer ).Tyto metody jsou zděděny z CSimpleStringT .

Hierarchii dědičnosti

CSimpleStringT

CStringT

Požadavky

Záhlaví

Použití

cstringt.h

Řetězec pouze MFC objekty

atlstr.h

Objekty mimo MFC řetězec

Viz také

Referenční dokumentace

Graf hierarchie

Třída CSimpleStringT

Další zdroje

Sdílené knihovny ATL/MFC tříd