Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este tema describe las operaciones básicas siguientes de CString :
Crear objetos CString de cadenas literales estándar de C
Caracteres individuales de un objeto CString
Concatenar dos objetos CString
Comparar objetos CString
Convertir los objetos CString
Class CString se basa en la plantilla Clase de CStringTde la clase.CString es typedef de CStringT.Más concretamente, CString es typedefde una especialización explícita de CStringT, que es una manera común de utilizar una plantilla de clase para definir una clase.Las clases de igual forma definido son CStringA y CStringW.Para obtener más información sobre la especialización explícita, vea Instancia de una plantilla de clase.
CString, CStringA, y CStringW se definen en atlstr.h.CStringT se define en cstringt.h.
CString, CStringA, y CStringW cada obtienen un conjunto de los métodos y operadores definidos por CStringT con datos de cadena que admiten.Parte del duplicado de métodos y, supera en algunos casos los servicios de la cadena de las bibliotecas en tiempo de ejecución de C.
Nota: CString es una clase nativa.Para una clase de la cadena que está para el uso en proyecto administrado de C/C++., puede utilizar System.String.
Crear objetos CString de cadenas literales estándar de C
Puede asignar cadenas literales de C a CString igual que puede asignar un objeto de CString a otro.
Asigne el valor de la cadena literal de C/C++. a un objeto de CString .
CString myString = _T("This is a test");Asigne el valor de un CString a otro objeto de CString .
CString oldString = _T("This is a test"); CString newString = oldString;El contenido de un objeto de CString se copian cuando un objeto de CString está asignado a otro.Por lo tanto, las dos cadenas no comparten una referencia a caracteres reales que constituyen la cadena.Para obtener más información sobre cómo utilizar los objetos de CString como valores, vea Semántica de CString.
[!NOTA]
Para escribir la aplicación para que se pueda compilar para Unicode o para ANSI, cadenas literales de código mediante la macro de _T.Para obtener más información, vea Unicode y compatibilidad con juegos de caracteres multibyte (MBCS).
Caracteres individuales de un objeto CString
Puede tener acceso a los caracteres individuales de un objeto de CString mediante los métodos de GetAt y de SetAt .También puede utilizar el elemento de matriz, o subíndice, operador ( [ ] ) en lugar de GetAt para obtener los caracteres individuales.(Esto es similar a los elementos de una matriz de acceso al lado del índice, como en cadenas estándar de C.) Los valores de índice por caracteres de CString cero-se basan.
Concatenar dos objetos CString
Para concatenar dos objetos de CString , utilice los operadores de concatenación (+ o +=), como sigue.
CString s1 = _T("This "); // Cascading concatenation
s1 += _T("is a ");
CString s2 = _T("test");
CString message = s1 + _T("big ") + s2;
// Message contains "This is a big test".
Al menos un argumento operadores de concatenación (+ o +=) debe ser un objeto de CString , pero puede utilizar una cadena de caracteres constante (por ejemplo, "big") o char (por ejemplo, “x ") para el otro argumento.
Comparar objetos CString
El método de Compare y el operador == para CString son equivalentes.Compare, operator==, y CompareNoCase son MBCS y Unicode corriente; CompareNoCase también es sin distinción entre mayúsculas y minúsculas.El método de Collate de CString es configuración regional- sensible y suele ser más lento que Compare.Utilice Collate sólo cuando debe seguir las reglas de ordenación según lo especificado por la configuración regional actual.
La tabla siguiente muestra las funciones disponibles y su equivalente Unicode/MBCS-portable de comparación de CString funciones de la biblioteca en tiempo de ejecución de C.
Función CString |
Función MBCS |
Función Unicode |
|---|---|---|
Compare |
_mbscmp |
wcscmp |
CompareNoCase |
_mbsicmp |
_wcsicmp |
Collate |
_mbscoll |
wcscoll |
En la plantilla de clase de CStringT define los operadores relacionales (<, <=, >=, >, ==, y! =), que están disponibles para uso de CString.Puede comparar dos CStrings mediante estos operadores, como se muestra en el ejemplo siguiente.
CString s1(_T("Tom"));
CString s2(_T("Jerry"));
ASSERT(s2 < s1);
Convertir los objetos CString
Para obtener información sobre cómo convertir objetos CString a otros tipos de cadena, vea Cómo: Convertir entre distintos tipos de cadenas.
Mediante CString con el wcout
Para utilizar un objeto CString con wcout debe convertir explícitamente el objeto a const wchar_t* tal y como se muestra en el ejemplo siguiente:
CString cs("meow");
wcout << (const wchar_t*) cs << endl;
Sin la conversión, se trata cs mientras void* y wcout imprime la dirección del objeto.Este comportamiento es provocado por las interacciones sutiles entre la deducción de argumento de plantilla y la resolución de sobrecarga que están en ellos mismos correctos y compatibles con el estándar de C++.
Vea también
Referencia
Instancia de una plantilla de clase
Specialization explícita de las plantillas de clase
Specialization parcial de plantillas de clase (C++)
Conceptos
Cómo: Convertir entre distintos tipos de cadenas