Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: YagamiIori2002 en 23 Abril 2012, 21:35 pm



Título: convertir un char a tchar, wchar etc.
Publicado por: YagamiIori2002 en 23 Abril 2012, 21:35 pm
Hola como estan. tengo una pregunta que no he podido resolver si alguien sabe por favor me gustaria que me ayudaran  como puedo convertir un char a TCHAR o WCHAR? estoy pasando datos de un cliente a un servidor y viceversa y obviamente tienes que mandarlo en forma de char luego convertir para que sean visibles en un treeview o listview o algo por el estilo. de antemano gracias.


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: BlackZeroX en 23 Abril 2012, 22:01 pm
TCHAR puede tornarse WCHAR o char segun sea UNICODE

Windows Data Types (http://msdn.microsoft.com/en-us/library/aa383751(v=vs.85).aspx)

Dulces Lunas!¡.


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: x64core en 24 Abril 2012, 00:07 am
usa la funcion mbtowc, tan sencillo  :rolleyes:


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: YagamiIori2002 en 25 Abril 2012, 21:32 pm
Realmente funciono(mbtowc), pero solo con una sola letra( laprimera)  lo probe con un ciclo y solo una letra me funciona por ejemplo si es "system" solo funciona con la "s" y las demas ya no.
este es el codigo:
 mbtowc( widechar(donde se guarda la variable), buff_nom2(donde proviene),  length(numero a copiar));

espero y alguien me ayude.


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: BlackZeroX en 26 Abril 2012, 10:13 am
si lo vas a imprimir en la consola OBVIO solo se imprimira la 1ra letra (si existiese) pues cada letra puede que este separada por bytes '\0' (nulos) es decir los que indican el final de una cadena ANSI... prueba a mostrarla con un MessageBoxW()... o checa la memoria...

ANSI: system
UNICODE: s y s t e m (Donde cada espacio es un byte o caracter '\0' nulo)... el termino se indica con 2 bytes '\0' nulos.

Dulces Lunas!¡.


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: Karman en 26 Abril 2012, 18:25 pm
si lo vas a imprimir en la consola OBVIO solo se imprimira la 1ra letra (si existiese) pues cada letra puede que este separada por bytes '\0' (nulos) es decir los que indican el final de una cadena ANSI... prueba a mostrarla con un MessageBoxW()... o checa la memoria...

no necesariamente, puedes escribir texto unicode en la consola usando "%ws" (WideString):

Código
  1. printf("%ws",L"texto unicode");

S2


Título: Re: convertir un char a tchar, wchar etc.
Publicado por: YagamiIori2002 en 26 Abril 2012, 19:06 pm
con MessageBoxW() si lo muestra eso ya lo habia probado y en la depuracion me muestra todas las cadena de caracteres y toda esta junta sin ninguna separacion o sea que no hay byts nullo, no lo quiero imprimir en consola quiero imprimir una cadena de char(son las que viene del server y no puedo modificar) esa cadena de caracteres quiero que la imprima en una ventana con treeview el problema es que no puedo realizar esa accion convertir la cadena.. :huh: