Programación General > Visual C++

 Convertir CString a char[]

(1/1)

termidor:
Hola,

Estoy seguro de que la pregunta será bastante simplona, incluso absurda, pero no soy capaz de ver que está mal aquí:


--- Código: C ---char buffer[100];memset(buffer, 0, sizeof(buffer));sprintf(buffer, "%s", cadena.GetBuffer()); 
cadena es una variable de tipo CString.

Lo que quiero hacer es copiar el texto de la variable "cadena" a "buffer". Pero el resultado de la función sprintf es que a la variable "buffer" solo se copia la primera letra de la variable "cadena". Es decir, si cadena = "Hola", entonces en buffer solo se copia la "H".

Muchas gracias y perdón por una pregunta tan tonta. Sigo investigando...

Eternal Idol:
Puede ser que estes tratando con una CStringW (en Unicode) entonces necesitas trabajar con wchar_t y no con char. En ese caso podes usar wcscpy para copiar la cadena.

termidor:
Pues tienes razón. He ido a las propiedades del proyecto y en "Juego de caracteres" estaba puesto en "unicode". Lo he cambiado a "Sin especificar" y ya va como tiene que ir. Copia la cadena entera sin problemas.

Muchas gracias y un saludo!!

Eternal Idol:
De nadas  B)

Navegación

[0] Índice de Mensajes

Ir a la versión completa