unsigned char wird immer als Zahl dargestellt
-
unsigned char C = 'A'; ShowMessage(String(C)); // 65 unsigned char C = (unigned char) (255); TStringStream* Stream = new TStringStream; Stream->WriteString(String(C)); // 255 delete Stream;
wieso interpretiert er es denn immer als Zahl und nie als Zeichen ?
-
Weil der Konstruktor-Aufruf bei String(unsigned char) automatisch den String(unsigned short) verwendet (da es explizit keinen String(unsigned char)-Konstruktor gibt).
Du kannst daher folgendes benutzen:String((char)C);
Warum verwendest du überhaupt explizit 'unsigned', denn um Zeichen zu speichern ist 'char' bzw, 'wchar_t' gedacht?
-
Weil ich Farbwerte von 0-255 habe die ich in eine Datei schreiben möchte.
(Ja ich habe das Rad neu erfunden)