CStringT::CStringT
Constrói um objeto de CStringT .
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, NULL- não finalizados.nLength
Uma contagem do número de caracteres em pch.ch
Um caractere único.pszSrc
Uma cadeia de caracteres NULL- finalizada a ser copiada em este objeto de CStringT .pStringMgr
Um ponteiro para o gerenciador de memória do objeto de CStringT . Para obter mais informações sobre IAtlStringMgr e de gerenciamento de memória para CStringT, consulte Gerenciamento de memória com CStringT.strSrc
Um objeto existente de CStringT a ser copiado em este objeto de CStringT . Para obter mais informações sobre CThisString e de CThisSimpleString, consulte a seção comentários.varSrc
Um objeto variante a ser copiado em este objeto de CStringT .BaseType
O tipo da classe de caractere de cadeia de caracteres. Pode ser um dos seguintes:char (para cadeias de caracteres ANSI).
wchar_t (para cadeias de caracteres Unicode).
ParaTCHAR (ANSI e cadeias de caracteres Unicode).
bMFCDLL
Booleano que especifica se o projeto é uma DLL MFC (TRUE) ou não (FALSO).SystemString
Deve ser System::String, e o projeto deve ser compilado com /clr.pString
Um identificador para um objeto de CStringT .
Comentários
Porque construtores copie os dados de entrada no novo armazenamento atribuído, você deve estar ciente de que as exceções de memória pode resultar. Observe que alguns de esses construtores atuam como funções de conversão. Isso permite que você substitua, por exemplo, LPTSTR onde um objeto de CStringT é esperado.
CStringT( LPCSTRlpsz ): Constrói Unicode CStringT de uma cadeia de caracteres ANSI. Você também pode usar esse construtor para carregar um recurso de cadeia de caracteres conforme mostrado no exemplo abaixo.
**CStringT(**LPCWSTRlpsz ): Constrói CStringT de uma cadeia de caracteres Unicode.
CStringT(const unsigned char*psz ): Permite que você construa CStringT de um ponteiro para unsigned char.
Dica
Defina a macro de _CSTRING_DISABLE_NARROW_WIDE_CONVERSION para desativar a conversão de cadeia de caracteres implícita entre ANSI e cadeias de caracteres de Unicode .Exclui a macro dos construtores de compilação que oferecem suporte à conversão.
Observe que o parâmetro de strSrc pode ser CStringT ou objeto de CThisSimpleString . Para CStringT, use uma de suas instanciações padrão (CString, CStringA, ou CStringW); para CThisSimpleString, use um ponteiro de this . CThisSimpleString declara uma instância de Classe de CSimpleStringT, que é uma classe menor de cadeia de caracteres com menos funcionalidade interna da classe de CStringT .
O operador CSimpleStringT<>&() de sobrecarga constrói um objeto de CStringT de uma declaração de CSimpleStringT .
Dica
Embora seja possível criar instâncias de CStringT que contenham caracteres nulos inseridos, recomendamos contra ele.Os métodos e os operadores de chamada em objetos de CStringT que contenham caracteres nulos inseridos podem produzir resultados indesejados.
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