CStringT::CStringT
Constrói um CStringT objeto.
CStringT( ) throw() :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
explicit CStringT(
IAtlStringMgr* pStringMgr
) throw() :
CThisSimpleString(
pStringMgr
);
CStringT(
const VARIANT& varSrc
);
CStringT(
const VARIANT& varSrc,
IAtlStringMgr* pStringMgr
);
CStringT(
const CStringT& strSrc
) :
CThisSimpleString(
strSrc
);
operator CSimpleStringT<
BaseType,
!_CSTRING_IMPL_::_MFCDLLTraitsCheck<
BaseType,
StringTraits
>:: c_bIsMFCDLLTraits
> &()
template <
bool bMFCDLL
>
CStringT(
const CSimpleStringT<
BaseType,
bMFCDLL
> & strSrc
) :
CThisSimpleString(
strSrc
);
template <
class SystemString
>
CStringT(
SystemString^ pString
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CStringT(
const XCHAR* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CSTRING_EXPLICIT CStringT(
const YCHAR* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CStringT(
LPCSTR pszSrc,
IAtlStringMgr* pStringMgr
) :
CThisSimpleString(
pStringMgr
);
CStringT(
LPCWSTR pszSrc,
IAtlStringMgr* pStringMgr
) :
CThisSimpleString(
pStringMgr
);
CSTRING_EXPLICIT CStringT(
const unsigned char* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
/*CSTRING_EXPLICIT*/ CStringT(
char* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CSTRING_EXPLICIT CStringT(
unsigned char* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CSTRING_EXPLICIT CStringT(
wchar_t* pszSrc
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CStringT(
const unsigned char* pszSrc,
IAtlStringMgr* pStringMgr
) :
CThisSimpleString(
pStringMgr
);
CSTRING_EXPLICIT CStringT(
char ch,
int nLength = 1
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CSTRING_EXPLICIT CStringT(
wchar_t ch,
int nLength = 1
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CStringT(
const XCHAR* pch,
int nLength
) :
CThisSimpleString(
pch,
nLength,
StringTraits::GetDefaultManager()
);
CStringT(
const YCHAR* pch,
int nLength
) :
CThisSimpleString(
StringTraits::GetDefaultManager()
);
CStringT(
const XCHAR* pch,
int nLength,
IAtlStringMgr* pStringMgr
) :
CThisSimpleString(
pch,
nLength,
pStringMgr
);
CStringT(
const YCHAR* pch,
int nLength,
IAtlStringMgr* pStringMgr
) :
CThisSimpleString(
pStringMgr
);
Parâmetros
pch
Um ponteiro para uma matriz de caracteres de comprimento nLength, não terminada com nulo.nLength
Uma contagem do número de caracteres em pch.ch
Um único caractere.pszSrc
Uma seqüência de caracteres terminada com caractere nulo sejam copiados para este CStringT objeto.pStringMgr
Um ponteiro para o Gerenciador de memória para o CStringT objeto. Para obter mais informações sobre o IAtlStringMgr e gerenciamento de memória para CStringT, consulte Gerenciamento de memória com CStringT.strSrc
Um existenteCStringT objeto a ser copiada para essa CStringT objeto. Para obter mais informações sobre o CThisString e CThisSimpleString, consulte a seção comentários.varSrc
Um objeto variante sejam copiados para este CStringT objeto.BaseType
O tipo de caractere da classe string.Pode ser um dos seguintes:char (para seqüências de caractere ANSI).
wchar_t (para seqüências de caractere Unicode).
TCHAR (para ANSI e Unicode seqüências de caractere).
bMFCDLL
booliano que especifica se o projeto é uma DLL da MFC (verdadeiro) ou não (FALSO).SystemString
Deve ser System::String, e o projeto deve ser compilado com/CLR.pString
Um identificador para um CStringT objeto.
Comentários
Porque os construtores copiar os dados de entrada para o novo armazenamento alocado, você deve estar ciente de que as exceções podem resultar de memória.Observe que alguns desses construtores funcionar sistema autônomo funções de conversão.Isso permite a substituição, por exemplo, um LPTSTR onde um CStringT objeto é esperado.
CStringT( LPCSTR lpsz ): Constructs a Unicode CStringT from an ANSI string.Você também pode usar esse construtor para carregar um recurso de cadeia de caracteres, conforme mostrado no exemplo a seguir.
CStringT( LPCWSTR lpsz ): Constructs a CStringT from a Unicode string.
CStringT( const unsigned char* psz ): Allows you to construct a CStringT from a pointer to unsigned char.
Observe que o strSrc parâmetro pode ser um CStringT ou CThisSimpleString objeto. For CStringT, use um dos seus (padrão) instanciaçõesCString, CStringA, ou CStringW); para CThisSimpleString, use um this ponteiro. CThisSimpleString declara uma instância das Classe CSimpleStringT, que é uma classe de seqüência de caracteres menor com pouca funcionalidade interna que o CStringT classe.
O operador de sobrecarga de CSimpleStringT<>&() constrói um CStringT objeto de um CSimpleStringT declaração.
Observação: |
---|
Embora seja possível Para criar CStringT instâncias que contêm caracteres nulo incorporados, é recomendável em relação a ele. Chamando métodos e operadores em CStringT objetos que contêm caracteres nulo incorporados podem produzir resultados não intencionais. |
Exemplo
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString s1; // Empty string
CAtlString s2(_T("cat")); // From a C string literal
CAtlString s3 = s2; // Copy constructor
CAtlString s4(s2 + _T(" ") + s3); // From a string expression
CAtlString s5(_T('x')); // s5 = "x"
CAtlString s6(_T('x'), 6); // s6 = "xxxxxx"
CAtlString s7((LPCSTR)ID_FILE_NEW); // s7 = "Create a new document"
VARIANT var;
V_VT(&var) = VT_BSTR;
V_BSTR(&var) = ::SysAllocString(L"Football is a fun sport.");
CAtlString s8(var); // s8 = "Football is a fun sport."
// The following statement does not call the assignment operator.
// The compiler considers the following statement equivalent to
// CAtlString city("Paris")
CAtlString city = _T("Paris");
Requisitos
Cabeçalho: cstringt.h