Share via


CStringT::CStringT

Crea un objeto 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
    Puntero a una matriz de caracteres de longitud nLength, no terminada en null.

  • nLength
    El número de caracteres de pch.

  • ch
    un carácter individual.

  • pszSrc
    Una cadena terminada en null se copie en este objeto de CStringT .

  • pStringMgr
    Un puntero al administrador de memoria para el objeto de CStringT . Para obtener más información sobre IAtlStringMgr y administración de memoria para CStringT, vea Memory Management with CStringT.

  • strSrc
    Un objeto existente de CStringT se copie en este objeto de CStringT . Para obtener más información sobre CThisString y CThisSimpleString, vea la sección comentarios.

  • varSrc
    Un objeto variable se copie en este objeto de CStringT .

  • BaseType
    El tipo de caracteres de la clase de cadena. Puede ser una de las siguientes:

    char (para las cadenas de caracteres ANSI).

    wchar_t (para las cadenas de caracteres Unicode).

    TCHAR (para ANSI y las cadenas de caracteres Unicode).

  • bMFCDLL
    Valor booleano que especifica si el proyecto es un archivo DLL de MFC (TRUE) o no (FALSE).

  • SystemString
    Debe ser System::String, y el proyecto se debe compilar con /clr.

  • pString
    Un identificador de un objeto de CStringT .

Comentarios

Puesto que los constructores copian los datos de entrada en nuevo almacenamiento asignado, debe tener en cuenta que las excepciones de memoria pueden producir. Observe que algunos de estos constructores actúan como funciones de conversión. Esto permite sustituir, por ejemplo, LPTSTR donde se espera un objeto de CStringT .

  • CStringT( LPCSTR lpsz): construye Unicode CStringT de una cadena ANSI. También puede utilizar este constructor para cargar un recurso de cadena como se muestra en el ejemplo siguiente.

  • **CStringT(**LPCWSTR lpsz): construye CStringT de una cadena Unicode.

  • CStringT(const unsigned char* psz): Permite crear CStringT de un puntero a unsigned char.

NotaNota

Defina la macro de _CSTRING_DISABLE_NARROW_WIDE_CONVERSION para desactivar la conversión de cadenas implícita entre ANSI y cadenas de Unicode .La macro excluye de los constructores de compilación que conversión admiten.

Observe que el parámetro de strSrc puede ser CStringT u objeto de CThisSimpleString . Para CStringT, utilice una de las instancias predeterminadas (CString, CStringA, o CStringW); para CThisSimpleString, utilice un puntero de this . CThisSimpleString declara una instancia de CSimpleStringT Class, que es una clase más pequeña de cadena con menos funcionalidad integrada que la clase de CStringT .

El operador CSimpleStringT<>&() de sobrecarga construye un objeto de CStringT de una declaración de CSimpleStringT .

NotaNota

Aunque es posible crear instancias de CStringT que contienen caracteres nulos incrustados, recomendamos con ellos.Los métodos y operadores de los objetos de CStringT que contienen caracteres nulos incrustados pueden generar resultados imprevistos.

Ejemplo

// 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

encabezado: cstringt.h

Vea también

Referencia

CStringT Class

CSimpleStringT Class