Reimpreso:
1.https: //blog.csdn.net/Joker_mw/article/details/79127790
2.https: //blog.csdn.net/shelleyhuhu/article/details/5406703
char * convertido a cadena
char * pChar;
cadena str = pChar;
cadena a LPCSTR
LPCSTR lpcStr = str.c_str ();
cadena a char *
string str;
char * pchar;
int len = str.length ();
pchar = (char *) malloc ((len + 1) * sizeof (char));
str.copy (pchar, len, 0);
* (pchar + len) = '\ 0'; // ¡Nota para agregar el terminador manualmente! ! !
https://blog.csdn.net/shelleyhuhu/article/details/5406703
1, tipo LPCTSTR
L
significa puntero largo. Esto es por compatibilidad con el legado de sistemas operativos de 16 bits como Windows 3.1.
PAGS
Indica que este es un puntero
C
es una constante
T
Representa la macro _T, esta macro se usa para indicar si su personaje usa UNICODE, si su programa define UNICODE u otras macros relacionadas, a veces preste atención para agregar _T ()
Entonces este carácter o cadena se tratará como un carácter UNICODE; de lo contrario, es una cadena ANSI estándar.
STR
Indica que esta variable es una cadena
Entonces LPCTSTR significa una cadena que apunta a una dirección fija que puede cambiar su semántica de acuerdo con algunas definiciones de macro. const char *
CString a LPCTSTR:
CString cStr;
const char * lpctStr = (LPCTSTR) cStr;
LPCTSTR a CString:
LPCTSTR lpctStr;
CString cStr = lpctStr;
Clase CString
El objeto CString proporciona un mecanismo dinámico de asignación de memoria. Administra los bloques de memoria asignados a través del mecanismo de "referencia". El uso de la clase CString no especifica el tamaño de la memoria .
CString lo asignará según sea necesario.
Operaciones comunes de la clase CSting:
1), cadena de conexión
Puede usar "+" para conectar dos cadenas.
Use la función Insertar para insertar una nueva cadena en cualquier lugar de la cadena, como el siguiente código:
CString str1 ("BMW King");
str1.Insert (4, "Gaidihu / n");
str1 + = "Zhenhe demonio";
AfxMessageBox (str1);
La longitud de un carácter chino en el objeto CString es 2.
2), compara cadenas
Puede usar la función Comparar () para comparar el tamaño de dos cadenas.
int resultado = str1.Compare (str2) ;
Compare ,, y de acuerdo con el valor ASCII correspondiente.
3), encuentra la cadena
Puede usar la función Find () de la clase CString para comenzar desde la posición especificada de la cadena, encontrar el carácter o cadena especificados y devolver la posición de la cadena donde se encuentra el carácter.
4), extrae la cuerda
Usando las funciones Left (), Mid () y Right () de la clase CString , puede extraer cadenas de la izquierda, el medio y la derecha de una cadena. .
5), transformar cadena
Use MakeUpper () de la clase CString. La función MakeLower () puede cambiar el caso de la cadena.
Use las funciones TrimLeft () y TrimRight () para eliminar espacios antes y después de la cadena ,,
La clase CString también tiene algunas otras operaciones comunes, como reemplazar, eliminar cadenas específicas, extraer, procesar una sola cadena, etc.
Formato CString y conversión de tipo:
Use la función Format () de la clase CString para formatear números como cadenas .
La forma general de llamada a la función Format () es:
str.Format ("cadena de control de formato", contenido de salida) El
medio formato de la cadena de formato es:
[Marca] [Ancho mínimo de salida] [Precisión] [Longitud] Especificador de conversión
Las cadenas de tipo CString también se pueden convertir a otros tipos
(1) Convertir a entero. Puede usar la función atoi () para convertir caracteres numéricos CSring en enteros.
(2) Convertir a tipo char *.
Varios métodos: utilice la función GetBuffer (): devuelva un puntero a un objeto CString
Utilice la función memcpy ();
Use LPCTSTR para forzar la conversión de tipos