[C con Clase] c y unicode
Steven Davidson
srd4121 en njit.edu
Mie Sep 1 00:23:05 CEST 2010
Hola Adolfo,
On 8/31/2010 4:39 PM, Adolfo Cárdenas wrote:
> He tratado de usar
> #define UNICODE
Recuerda que debes #definir este símbolo antes de #incluir <windows.h>.
> TextOut(oohdc, oox, ooy, (WCHAR*)lineas[i], 10);
> donde lineas es un array de punteros a char
> y me salen cuadraditos,
> el texto que guarde tiene letras arabes y lo guarde como texto unicode
> ¿estoy bien?
>
Debería funcionar si guardaste el ".cpp" usando Unicode. Asegúrate de
que usaste 'lineas' correctamente. Yo hice esto mientras hacía pruebas:
TCHAR szMensaje[] = TEXT( "ﺰﺃﻷﻮ" );
int n = sizeof szMensaje / sizeof szMensaje[0];
TextOut( hdc, 50,50, szMensaje, n );
(Nota: He escrito algunas letras árabes en el código de arriba, por si
acaso no aparecen.)
(Nota 2: No tengo ni idea de árabe.)
Como puedes ver, uso 'TCHAR' y la macro 'TEXT()'. Así no tienes que
estar convirtiendo. Además, la conversión no es tan sencilla como
indicar 'WCHAR' y ya está.
La otra forma es indicando los códigos directamente. Por ejemplo,
TCHAR szMensaje[] = TEXT( "\xfeb0\xfe83\xfef7\xffee" );
int n = sizeof szMensaje / sizeof szMensaje[0];
TextOut( hdc, 50,50, szMensaje, n );
Espero haber aclarado un poco el tema.
Steven
Más información sobre la lista de distribución Cconclase