Código
eso compila, pero si veo el ejecutable hola no está en unicode.
#include <windows.h> #define UNICODE int main(int argc, char *argv[]) { TCHAR* ansi_o_unicode; WCHAR* unicode; unicode = L"unicode"; ansi_o_unicode = TEXT("hola"); return 0; }
con un editor hexadecimal se ve así:
Código
hola..u.n.i.c.o.d.e..
y si quiero compilar lo siguiente no compila:
Código
#include <windows.h> #define UNICODE int main(int argc, char *argv[]) { TCHAR* ansi_o_unicode; WCHAR* unicode; unicode = L"unicode"; ansi_o_unicode = L"hola"; return 0; }
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
#ifdef UNICODE typedef WCHAR TCHAR; #else typedef char TCHAR; #endif
¿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.