Gdzie zdefinowano UNICODE?

0

Kod:

//---------------------------------------------------------------------------
#include <windows.h>
#ifdef UNICODE
#define nazwa 1
#endif

WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
 int i=nazwa;
        return 0;
}
//---------------------------------------------------------------------------

Wywala mi nieznany identyfikator nazwa.Srodowisko Builder6,system WindowsXp.
Gdzie jest zdefiniowany identyfikator UNICODE? W jakim pliku,bo jakbym chciał napisać aplikacje obsługującą znaki 8 i 16 bitowe zależnie od tego czy dostępny jest ten rodzaj kodowania w systemie używając typu TCHAR to sie nie będzie dało.

Zgóry dzięki za odpowiedź!

0

nie wiem czy to cokolwiek pomoże ale ja zazwyczaj używam _UNICODE

0

Mógłbyś rzucić jakimś przykładem bo z tym drugim _UNICODE mam to samo,
może to trzeba ustawić gdzieś w opcjach kompilatora?

Dzięki!

0

Witam!
Kontynuując wątek mam pytanie odnośnie identyfikatora UNICODE.
Mianowicie dlaczego pod windowsem xp sprawdzany warunek

#ifdef UNICODE

nie jest spełniony?

Windows XP obsluguje ponoć unicode jednak z tego wynika że nie :(

Druga sprawa - dlaczego wpisując polskie znaki do funkcji MessageBoxW
otrzymuje komunikat błędu podczas kompilacji (bez polskich znakow sie kompiluje).

MessageBoxW (NULL, L"aląć", L"Sdf", 0) ;

Srodowisko DEV C++ system, Windows xp

0

Chyba Twój kompilator nie rozumie, że można używać w łańcuchach innych znaków niż ASCII. Ale nie martw sie - jest notacja "\u<numerek>" - tak można wstawić dowolny znak Unicode. Poza tym uważałbym na L"", bo moze dawac 16bitowe lub 32bitowe znaki (w zależności od sam nie wiem czego).

1 użytkowników online, w tym zalogowanych: 0, gości: 1