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
Operaciones básicas de CString
Se describen las operaciones básicas de CString, por ejemplo, cómo crear objetos a partir de cadenas literales de C, cómo acceder a caracteres individuales de una CString, cómo concatenar dos objetos y cómo comparar objetos CString.Administración de datos de cadena
Se aborda el uso de Unicode y MBCS con CString.Semántica de CString
Se explica el uso de objetos CString.Operaciones de CString relacionadas con cadenas de estilo C
Se describe cómo manipular el contenido de un objeto CString como una cadena terminada en un valor nulo de estilo C.Asignación y liberación de memoria para un BSTR
Se explica el uso de memoria en relación con un BSTR y objetos COM.Limpieza de excepciones de CString
Se explica que la limpieza expresa en MFC 3.0 y en versiones posteriores ya no es necesaria.Paso de argumentos de CString
Se detalla cómo pasar objetos CString a funciones y cómo obtener objetos CString de las funciones.Compatibilidad con Unicode y con el juego de caracteres multibyte (MBCS)
Se centra en cómo MFC permite el uso de Unicode y MBCS.
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)
Contiene vínculos a temas en los que se describen las diversas formas de administrar datos de cadena.Crear instancias de plantillas de clase
CString es un typedef basado en CStringT, que es instancia de una especialización de una plantilla de clase.