SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: termidor en Jueves 11 de Febrero de 2010, 16:40
-
Hola,
Estoy seguro de que la pregunta será bastante simplona, incluso absurda, pero no soy capaz de ver que está mal aquí:
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...
-
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.
-
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!!
-
De nadas B)