Phili
1. Wenn Du wegen "Schönheit" codest, solltest Du es ganz einfach sein lassen, stehste am besten zu! Wenn Dir wchar_t nicht passt, schreib unsigned short.
2. Das hat nicht explizit was mit Windows zu tun, sondern mit dem ISO-Komitee, Windows ist seit NT2 das erste System das Unicode voll und Ganz unterstützt und den Standard des ISO-Komitees dafür richtig einsetzt, im Gegensatz zu Linux oder den damaligen Mac-Systemen, die brechen sich heute noch einen mit UTF-8 Tabellen ab.
3. Es lautet standar
dmäßig.
4. Weil wchar_t und char 2 Welten sind? DU kannst nicht wenn Du char eingibst einfach einen komplett anderen Datentyp nehmen! Das ist so als wenn Du Coca-Cola auf eine Pepsi-Cola schreibst! Das eine Schmeckt scheiße, das andere gut. Dazu spielt der Standard vom ISO-Komitee und die Kompalität eine sehr große Rolle! Dazu wird char nicht nur für die Textausgabe benutzt, im gegensatz zu wchar_t (wir sprechen jetzt nicht von unsigned short).
5. Du weißt schon das Zeichen und Zeichenketten mit wchar_t mit dem Präfix L initialisiert werden
müssen und bei char
keines gesetzt werden darf?
6. Wie schon gesagt, wenn Du gerne in der Steinzeit leben willst, weil dein Code "schöner" aussehen soll, lass es besser bleiben. Vorallem da Deine Programme jetzt schon unter XP SP2 und Vista nur noch emuliert werden und das ordentlich auf die Performance drücken kann
Unicode und ASCII/ANSI sind 2 verschiedene Welten, dazu benutzt char nur 128 Zeichen, unsigend char 256 (welchen Du ja nicht benutzt) und wchar_t die komplette Bandbreite eines unsigned short. Das sind 2 Welten und das hat nicht nur was mit den Asiaten zu tun. Versuch Du mal mit einem char einen deutschen Umlaut darzustellen. Tipp: Der Umlaut steckt nicht in den höheren Bits sondern in den Tieferen Bits.
Ergo: char für Texte suckt.