Título: Array Unicode Publicado por: Cromatico en 18 Marzo 2013, 11:51 am Buenos dias a todos! Queria hacerles una consulta, tengo un proyecto en DEV C++ con una funcion para leer un array de bytes... ReadProcessMemory...
Lo asigno a un array declarado de esta forma: Código: BYTE Array[30]; Hasta acá todo perfecto, ahora cuando lo quiero convertir a string... Código: *TEXTO = const_cast<char*>(LPCSTR(Array)); Con la primera linea, ya logro que el MessageBox me salga correctamente... Lo demas, es para que retorne ese string en VB... No se si habra codigo que sobre, pero es la unica forma que pude hacer que funcione... El tema es que cuando el array es UNICODE, solo sale la primera letra en el MESSAGEBOX, al igual que lo que llega a VB, solo la primera letra... Como puedo convertir el Array a UTF, o bien, hacer que en el Array, se quiten los 00 que tiene entre cada caracter? Muchas gracias!!! Título: Re: Array Unicode Publicado por: Cromatico en 18 Marzo 2013, 15:52 pm Bueno resolvi haciendo otro array con un for que va sumando de dos en dos, y va asignando junto a otro contador, el otro array...
Poco y nada en C++, pero fue la forma en que me la pude rebuscar y funciono :P. Gracias y saludos Título: Re: Array Unicode Publicado por: x64core en 20 Marzo 2013, 07:25 am Existen funciones que te facilitan la conversion:
MultiByteToWideChar WideCharToMultiByte Título: Re: Array Unicode Publicado por: Luz Violeta en 23 Marzo 2013, 01:54 am Prácticamente todas las funciones que vas a usar de la API de Windows tienen su versión "ansi" y "unicode" ... básicamente según hagas un define indicando que el proyecto es unicode o no, el preprocesador apunta las funciones a su versión ansi u unicode.
Miralo así: MessageBoxA → Versión ANSI MessageBoxW → Versión "Wide" o Unicode. MessageBox → Un preprocesador que apunta a una u otra según se configure el proyecto. Antes que hacer conversiones, es mejor usar la respectiva función. Saludos. P.S → Eso o entendí rrré mal tu intención x') |