Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

31

30.12.2005, 20:15

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.

32

04.01.2006, 20:21

Und schon wieder was neues gelernt ;) ...

Und was ist mit dem "int"? Da hat man hier doch viele Fehler gesehen.
Heißt das auch anders?
Und die Windowsdatentypen (HINSTANCE, HWND, ...)?

Ich merks schon, der neue Standart ist da...

F0GX

Anonymous

unregistriert

33

04.01.2006, 20:24

FOGX
Dieser Fehler mit dem "default int" ist kein richtiger Fehler. Es ist nur die Summe aus mehreren Unstimmigkeiten in den Einstellungen der IDE (z.B. Falsche Pfadangaben o.ä.)

Einen einzelnen int darf man nehmen, sollte man jedoch nicht. Man sollte eher char, short oder long für integrale Werte benutzen.

Grund sieht man hier:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_langref_data_type_ranges.asp

Systemabhängig und int hat keine Mindestgröße.

Werbeanzeige