[gelöscht]
-
Dieser Beitrag wurde gelöscht!
-
@JAMP sagte in Ich will die Hölle auseinander nehmen:
wchar_t x = L'Hell';
wchar_t ist doch nur ein Zeichen, wenn ich mich nicht irre. Du willst da aber mehrere reinquetschen.
-
Ein Zeichen bestehend aus mehreren Bytes. Und diese will ich auseinander nehmen.
-
Ich arbeite nie mit WideStrings, aber ich glaube die Zuweisung, wie du sie in Zeile 5 machst, funktioniert so nicht, weil er da trotzdem versucht, vier Zeichen reinzustecken, wo nur für eines Platz ist. Ist meine Vermutung.
Wenn du es zerlegen willst, versuch mal sowas in der Richtung.
wchar_t x; auto byte_casted = (char*)&x; for ( unsigned i = 0; i < sizeof( x ); ++i ) { char my_single_byte = *(p + i ); ... todo }
Keine schöne Lösung allerdings.
Aber ich glaube aber nachwievor dass in deinem x nur ein Zeichen drin ist.
-
Vielleicht funktioniert so etwas:
wchar_t x = 'Hell';
(ohneL
). Natürlich nicht portabel, aber immerhin implementation-defined.