• Domingo 19 de Mayo de 2024, 08:18

Autor Tema:  Convertir CString a char[]  (Leído 1748 veces)

termidor

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Convertir CString a char[]
« en: Jueves 11 de Febrero de 2010, 16:40 »
0
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
  1. char buffer[100];
  2. memset(buffer, 0, sizeof(buffer));
  3. sprintf(buffer, "%s", cadena.GetBuffer());
  4.  

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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Convertir CString a char[]
« Respuesta #1 en: Jueves 11 de Febrero de 2010, 16:46 »
0
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.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

termidor

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Convertir CString a char[]. SOLUCIONADO
« Respuesta #2 en: Jueves 11 de Febrero de 2010, 17:21 »
0
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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Convertir CString a char[]
« Respuesta #3 en: Jueves 11 de Febrero de 2010, 21:11 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.