Usar CString
En los temas de esta sección se describe cómo programar con CString
. Para ver documentación de referencia de la clase CString
, consulte la documentación de CStringT
.
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 uno o varios bytes (MBCS). Un objeto CString
admite el tipo char
o el tipo wchar_t
, dependiendo de si se han definido el símbolo de MBCA o el símbolo de 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. CString
realiza un seguimiento de la longitud de la cadena para mejorar el rendimiento, pero también conserva el carácter NULL
de los datos de caracteres almacenados para admitir la conversión a LPCWSTR
. CString
incluye el terminador nulo cuando exporta una cadena de estilo C. Se puede insertar un elemento NULL
en otras ubicaciones en un 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 BSTR
Se explica el uso de memoria para 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 explica cómo pasar objetos CString
a funciones y cómo devolver objetos CString
de 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
(clase)
Contiene información de referencia sobre la clase CSimpleStringT
.
Secciones relacionadas
Cadenas (ATL/MFC)
Contiene vínculos a temas en los que se describen las diversas formas de administrar datos de cadena.