FOGX
Nun ja, eigentlich nur paar allgemeine Griffe:
wchar_t ist im Gegensatz zu char 2 Byte groß und nicht 1 Byte, dadurch ist sein Fassungsvermögen enorm.
Die Benutzung ist relativ einfach: Alles was mit char zu tun hatte ist nun mit wchar_t inkompatibel.
Also z.B. strcpy, std::cout, std::cin, strcmp, sprintf, printf, uvm.
Keine Panik, Microsoft hat dafür auf der MSDN mehrere Hundert Artikel die dieses Thema behandeln! Es gibt Ersatzfunktionen die halt auf wchar_t getrimmt wurden wie z.B. sprintf (ANSI) durch swprintf (Unicode) ersetzt wurde. Einfach in der MSDN nach den jeweiligen Funktionen suchen. Aber eines ist klar: Jede Funktion die es mit char gab, hat Microsoft vor mehr als 1 Jahrzehnt auf Unicode dubliziert.
Wertezuweisungen werden durch das Präfix L gekennzeichnet:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
char value_a = 'a';
wchar_t value_w = L'a';
char value_a_string[] = "hallo welt!";
wchar_t value_w_string[] = L"hallo welt!";
|
Also eigentlich nichts sonderlich schlimmes.
Wenn Du in Unicode arbeitest, laufen deine Programme nur noch auf NT-Systemen und nicht mehr auf DOS-Kernel Systeme wie Win9x.
- Patrick.