Compartir a través de


Using CString

En los temas de esta sección se describe cómo programar con CString. Consulte la documentación relativa a la clase CString como referencia sobre estaclase.

Para usar CString, incluya el encabezado atlstr.h.

Las clases CString, CStringA y CStringW son especializaciones de una plantilla de clase denominada CStringT, que se basa en el tipo de datos de caracteres que admiten.

Un objeto CStringW contiene el tipo wchar_t y admite cadenas Unicode. Un objeto CStringA contiene el tipo char y admite cadenas de un solo byte o multibyte (MBCS). Un objeto CString admite el tipo char o el tipo wchar_t, dependiendo de si se ha definido el símbolo MBCS o el símbolo UNICODE en el tiempo de compilación.

Un objeto CString conserva los datos de caracteres en un objeto CStringData. CString acepta cadenas de estilo C terminadas en null, pero no conserva el carácter null en los datos de caracteres almacenados. En su lugar, CString realiza un seguimiento de la longitud de la cadena. CString sí proporciona un terminador nulo cuando exporta una cadena de estilo C. Se puede insertar un elemento null en CString, pero esto podría generar resultados inesperados.

El siguiente conjunto de clases de cadena se puede usar sin vincular a una biblioteca MFC, tanto si hay o no compatibilidad de CRT: CAtlString, CAtlStringA y CAtlStringW.

CString se usa en objetos nativos. En los proyectos de código administrado (C++/CLI), use System::String.

Para agregar más capacidades de las que CString, CStringA o CStringW ofrecen actualmente, conviene crear una subclase de CStringT que contenga las características extra.

El siguiente código muestra cómo crear una CString e imprimirla en una salida estándar:

#include <atlstr.h>

int main() {
    CString aCString = CString(_T("A string"));
    _tprintf(_T("%s"), (LPCTSTR) aCString);
}

En esta sección

Referencia

  • CStringT
    Contiene información de referencia sobre la clase CStringT.

  • CSimpleStringT Class
    Contiene información de referencia sobre la clase CSimpleStringT.

Secciones relacionadas

Strings (ATL/MFC)