Tecnología

Inicio

Cómo manipular cadenas en MFC

La biblioteca STL de C ++ puro tiene la clase "cadena". El Microsoft Foundation Class (MFC) Biblioteca tiene su propia salvación: la clase CString. CString MFC proporciona todas las características de un programador necesita para manejar y manipular una cadena. Aunque no es un tratado exhaustivo sobre la clase, este artículo ilustra sus características de uso más frecuente por lo que para el final puede estar en funcionamiento.

Instrucciones

1 Inicializar un objeto CString. CString tiene muchos constructores. Puede crear una instancia de un objeto CString con char, char *, TCHAR o sin parámetros. Es compatible con el operador "=", por lo que se pueden asignar objetos vacíos un valor.


Ejemplo:

CString s1, s2 ( "Hola");

s1 = s2; // S1 tiene el valor de "Hola"

2 Obtener la longitud de un objeto CString. La función "GetLength ()" devuelve un entero sin signo que es la longitud de la cadena.

3 Concatenar un objeto CString con otra. La forma más fácil de añadir dos cadenas es a través del operador "+".


Ejemplo:

CString s1 ( "nombre"), S2 ( "Apellido");

s1 = s1 + s2;

4 Hacer comparaciones con CString. Se puede utilizar el "CompareNoCase ()" función para hacer comparaciones entre mayúsculas y minúsculas; el operador "==" apoya las comparaciones entre mayúsculas y minúsculas.


Ejemplo:

CString s ( "Vamos a ver si son iguales");

Si ( "Vamos a ver si son iguales" == s) {

MessageBox ( "mayúsculas y minúsculas");

}

// O

si ( "vamos a ver si son iguales" == s) {

MessageBox ( "Caso insensible");

}

5 Buscar una subcadena dentro de un objeto CString MFC. Usted puede hacer esto por la sobrecarga de la función "Find ()" para aceptar cadenas y caracteres individuales. La búsqueda se lleva a cabo de izquierda a derecha y devuelve la posición de la subcadena.


CString s ( "Las capacidades de búsqueda de CString");
int pos = s.Find ( 's');
int = pos2 s.Find ( "de");

6 Dar formato a los datos. "Formato ()" funciona de forma similar a la función C printf.


CString s;

int num = 80;

Char arr [] = "Número";

s.Format (( "% s% d", arr, num);

Consejos y advertencias

  • CString no tiene una clase base, por lo que la creación de un objeto CString tiene sobrecarga de la luz.
  • CString se basa en la 2 byte de tipo de datos a largo TCHAR, por lo que soporta UNICODE automáticamente.
  • La mayoría de las funciones de CString se aclaran con el uso.