Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kworld en 29 Mayo 2010, 21:03 pm



Título: No me funciona el unicode
Publicado por: kworld en 29 Mayo 2010, 21:03 pm
Hola estoy usando el ide Dev-C++ para compilar lo siguiente, quiero usar unicode, pero no funciona.

Código
  1. #include <windows.h>
  2.  
  3. #define UNICODE
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.   TCHAR* ansi_o_unicode;
  8.   WCHAR* unicode;
  9.  
  10.   unicode = L"unicode";
  11.   ansi_o_unicode = TEXT("hola");
  12.  
  13.   return 0;
  14. }
  15.  
eso compila, pero si veo el ejecutable hola no está en unicode.
con un editor hexadecimal se ve así:

Código
  1. hola..u.n.i.c.o.d.e..
  2.  

y si quiero compilar lo siguiente no compila:

Código
  1. #include <windows.h>
  2.  
  3. #define UNICODE
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.   TCHAR* ansi_o_unicode;
  8.   WCHAR* unicode;
  9.  
  10.   unicode = L"unicode";
  11.   ansi_o_unicode = L"hola";
  12.  
  13.  
  14.   return 0;
  15. }
  16.  

al parecer el #define UNICODE no es considerado porque si se consideraría debería compilar porque en la msdn se dice que dice que TCHAR es definido así:

Código
  1. #ifdef UNICODE
  2. typedef WCHAR TCHAR;
  3. #else
  4. typedef char TCHAR;
  5. #endif
  6.  

¿Cual será el problema?

edito: ya lo encontré: tenía que definir UNICODE antes de incluir windows.h me da verguenza el error tonto de parte mía.