Länge von wchar_t
-
Hallo,
ich habe in meinem Buch,C++ Primer auf Seite 66 gelesen,dass man so ein wchar_t ...
L"a wide string literal"... schreibt.Aber daraus habe ich nichts verstanden

Könntet ihr mir vielleicht bitte helfen,so ein wchar_t-Intialisierten aufzubauen
Damit gemeint war so ein Beispiel beispielsweise:#include<iostream> int main() { wchar_t .... std::cout<<"test"<<std::endl; return 0; }Mit freundlichen Grüßen,
Martin
-
Hallo
wchar_t x = L'x'; std::wstring y = L"y";bis bald
akari
-
Auszugeben ist ein wstring bzw. ein wchar_t mit std::wcout
-
es gibt von den Streams noch die Wide-Streams, einfach immer ein w davor.
Achja, hab erst überhaupt nicht gerafft wo dein Problem ist.

-
akari schrieb:
Hallo
wchar_t x = L'x'; std::wstring y = L"y";bis bald
akariAlso erstmals vielen Dank,akari.
Zweitens verstehe ich das leider noch nicht mit dem "w";Vellas schrieb:
Auszugeben ist ein wstring bzw. ein wchar_t mit std::wcout
Sorry,aber das verstehe ich immer noch nicht.Außerdem,wozu braucht man solche wchar_t,wenn man auch normale char's oder std::string's dazu anhängen kann?
Artchi schrieb:
es gibt von den Streams noch die Wide-Streams, einfach immer ein w davor.
Ein "w" davor

Aber dann verstehe ich das cout nicht mehr
Artchi schrieb:
Achja, hab erst überhaupt nicht gerafft wo dein Problem ist.

Naja es geht um "wchar_t",denn dieses habe ich nur in meinem Buch gesehen,jedoch steht drinnen nichts über dieses.

Martin
-
Hallo
das w steht für wide. ein normaler char unfasst 1 Byte, kann also 256 Zeichen darstellen. Das reicht für die ANSI-Zeichen. Aber spätestens die griechischen oder kyrillischen Zeichen passen nicht mehr rein.
Also gibt es den Unicode-Zeichensatz. Um den nativ zu verwenden brauchst du mindestens 2-Byte chars, und genau das ist wchar_t. std::wstring ist demzufolge ine zeichenkette aus wchar_t. Und wcout und die andern w-streams sind ebenfalls Unicode-Äquivalente.Wenn du weder weißt was das w oder Unicode bedeutet, dann las es einfach weg und benutzt die gewohnten Datentypen.
bis bald
akari
-
aber gibt es da keine Probleme mit Synergieeffekten?
-
Ich habe auch ein Buch, in dem ununterbrochen von Unicode geschrieben wird. Jedes einzelne Programm wird mit einem zum Teil immensen Aufwand auf Unicode getrimmt. Aber wenn ich das jetzt richtig verstanden habe, ist das für den "Hausgebrauch" unnötiger Zeitaufwand. Richtig verstanden?

-
Hallo
Stell dir die Frage, ob du Unicode brauchst oder nicht. Wenn du nur latainische und einige wenige europäische Sonderzeichen brauchst, dann reicht der 1Byte-char.
Brauchst du jemals mehr, solltest du gleich Unicode benutzen. Denn es ist aufwendiger ein bestehendes Programm von 1Byte- auf 2Byte chars umzustellen als gleich von Anfang an mit 2Byte zu arbeiten. Das gilt insbesondere wenn mit Windows-GUIs gearbeitet wird.bis bald
akari